use of net.minecraft.client.entity.EntityClientPlayerMP in project Minestuck by mraof.
the class ClientEditHandler method onInteractEvent.
@SubscribeEvent(priority = EventPriority.NORMAL)
public void onInteractEvent(PlayerInteractEvent event) {
if (event.entity.worldObj.isRemote && event.entityPlayer instanceof EntityClientPlayerMP && isActive()) {
if (event.action == PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) {
event.useBlock = Result.DENY;
ItemStack stack = event.entityPlayer.getCurrentEquippedItem();
if (stack == null || Block.getBlockFromItem(stack.getItem()) == Blocks.air) {
event.setCanceled(true);
return;
}
GristSet cost;
if (DeployList.containsItemStack(stack))
if (Minestuck.clientHardMode && givenItems[DeployList.getOrdinal(stack)])
cost = DeployList.getSecondaryCost(stack);
else
cost = DeployList.getPrimaryCost(stack);
else
cost = GristRegistry.getGristConversion(stack);
if (!GristHelper.canAfford(MinestuckPlayerData.getClientGrist(), cost)) {
StringBuilder str = new StringBuilder();
if (cost != null) {
for (GristAmount grist : cost.getArray()) {
if (cost.getArray().indexOf(grist) != 0)
str.append(", ");
str.append(grist.getAmount() + " " + grist.getType().getDisplayName());
}
event.entityPlayer.addChatMessage(new ChatComponentTranslation("grist.missing", str.toString()));
}
event.setCanceled(true);
}
if (event.useItem == Result.DEFAULT)
event.useItem = Result.ALLOW;
} else if (event.action == PlayerInteractEvent.Action.LEFT_CLICK_BLOCK) {
Block block = event.entity.worldObj.getBlock(event.x, event.y, event.z);
if (block.getBlockHardness(event.entity.worldObj, event.x, event.y, event.z) < 0 || MinestuckPlayerData.getClientGrist().getGrist(GristType.Build) <= 0)
event.setCanceled(true);
} else if (event.action == PlayerInteractEvent.Action.RIGHT_CLICK_AIR)
event.setCanceled(true);
}
}
use of net.minecraft.client.entity.EntityClientPlayerMP in project BloodMagic by WayofTime.
the class RitualDivinerRender method render.
@SubscribeEvent
public void render(RenderWorldLastEvent event) {
Minecraft minecraft = Minecraft.getMinecraft();
EntityClientPlayerMP player = minecraft.thePlayer;
World world = player.worldObj;
if (minecraft.objectMouseOver == null || minecraft.objectMouseOver.typeOfHit != MovingObjectPosition.MovingObjectType.BLOCK) {
return;
}
TileEntity tileEntity = world.getTileEntity(minecraft.objectMouseOver.blockX, minecraft.objectMouseOver.blockY, minecraft.objectMouseOver.blockZ);
if (!(tileEntity instanceof IMasterRitualStone)) {
return;
}
Vector3 vec3 = new Vector3(minecraft.objectMouseOver.blockX, minecraft.objectMouseOver.blockY, minecraft.objectMouseOver.blockZ);
double posX = player.lastTickPosX + (player.posX - player.lastTickPosX) * event.partialTicks;
double posY = player.lastTickPosY + (player.posY - player.lastTickPosY) * event.partialTicks;
double posZ = player.lastTickPosZ + (player.posZ - player.lastTickPosZ) * event.partialTicks;
if (player.inventory.getCurrentItem() != null && player.inventory.getCurrentItem().getItem() instanceof ItemRitualDiviner) {
ItemRitualDiviner ritualDiviner = (ItemRitualDiviner) player.inventory.getCurrentItem().getItem();
int direction = ritualDiviner.getDirection(player.inventory.getCurrentItem());
RitualEffect ritualEffect = getEffectFromString(ritualDiviner.getCurrentRitual(player.inventory.getCurrentItem()));
if (ritualEffect == null) {
return;
}
GL11.glPushMatrix();
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
for (RitualComponent ritualComponent : ritualEffect.getRitualComponentList()) {
Vector3 vX = vec3.add(new Vector3(ritualComponent.getX(direction), ritualComponent.getY(), ritualComponent.getZ(direction)));
double minX = vX.x - posX;
double minY = vX.y - posY;
double minZ = vX.z - posZ;
if (!world.getBlock(vX.x, vX.y, vX.z).isOpaqueCube()) {
RenderFakeBlocks.drawFakeBlock(vX, ModBlocks.ritualStone, ritualComponent.getStoneType(), minX, minY, minZ, world);
}
}
GL11.glPopMatrix();
}
}
use of net.minecraft.client.entity.EntityClientPlayerMP in project BloodMagic by WayofTime.
the class ClientUtils method renderPlayerArmourInPOV.
public static void renderPlayerArmourInPOV(EntityPlayer player, float partialTickTime) {
GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT);
// this.prevEquippedProgress + (this.equippedProgress - this.prevEquippedProgress) * partialTickTime;
float f1 = 1.0f;
EntityClientPlayerMP entityclientplayermp = mc.thePlayer;
float f2 = entityclientplayermp.prevRotationPitch + (entityclientplayermp.rotationPitch - entityclientplayermp.prevRotationPitch) * partialTickTime;
// GL11.glPushMatrix();
GL11.glRotatef(180 - (entityclientplayermp.prevRotationYaw + (entityclientplayermp.rotationYaw - entityclientplayermp.prevRotationYaw) * partialTickTime), 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-f2, 1.0F, 0.0F, 0.0F);
RenderHelper.enableStandardItemLighting();
// GL11.glPopMatrix();
EntityPlayerSP entityplayersp = (EntityPlayerSP) entityclientplayermp;
float f3 = entityplayersp.prevRenderArmPitch + (entityplayersp.renderArmPitch - entityplayersp.prevRenderArmPitch) * partialTickTime;
float f4 = entityplayersp.prevRenderArmYaw + (entityplayersp.renderArmYaw - entityplayersp.prevRenderArmYaw) * partialTickTime;
GL11.glRotatef((entityclientplayermp.rotationPitch - f3) * 0.1F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef((entityclientplayermp.rotationYaw - f4) * 0.1F, 0.0F, 1.0F, 0.0F);
ItemStack itemstack = player.getCurrentEquippedItem();
if (itemstack != null && itemstack.getItem() instanceof ItemCloth) {
GL11.glEnable(GL11.GL_BLEND);
OpenGlHelper.glBlendFunc(770, 771, 1, 0);
}
int i = mc.theWorld.getLightBrightnessForSkyBlocks(MathHelper.floor_double(entityclientplayermp.posX), MathHelper.floor_double(entityclientplayermp.posY), MathHelper.floor_double(entityclientplayermp.posZ), 0);
int j = i % 65536;
int k = i / 65536;
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) j / 1.0F, (float) k / 1.0F);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
float f5;
float f6;
float f7;
if (itemstack != null) {
int l = itemstack.getItem().getColorFromItemStack(itemstack, 0);
f5 = (float) (l >> 16 & 255) / 255.0F;
f6 = (float) (l >> 8 & 255) / 255.0F;
f7 = (float) (l & 255) / 255.0F;
GL11.glColor4f(f5, f6, f7, 1.0F);
} else {
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
}
float f8;
float f9;
float f10;
float f13;
Render render;
RenderPlayer renderplayer;
if (itemstack != null && itemstack.getItem() instanceof ItemMap) {
GL11.glPushMatrix();
f13 = 0.8F;
f5 = entityclientplayermp.getSwingProgress(partialTickTime);
f6 = MathHelper.sin(f5 * (float) Math.PI);
f7 = MathHelper.sin(MathHelper.sqrt_float(f5) * (float) Math.PI);
GL11.glTranslatef(-f7 * 0.4F, MathHelper.sin(MathHelper.sqrt_float(f5) * (float) Math.PI * 2.0F) * 0.2F, -f6 * 0.2F);
f5 = 1.0F - f2 / 45.0F + 0.1F;
if (f5 < 0.0F) {
f5 = 0.0F;
}
if (f5 > 1.0F) {
f5 = 1.0F;
}
f5 = -MathHelper.cos(f5 * (float) Math.PI) * 0.5F + 0.5F;
GL11.glTranslatef(0.0F, 0.0F * f13 - (1.0F - f1) * 1.2F - f5 * 0.5F + 0.04F, -0.9F * f13);
GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(f5 * -85.0F, 0.0F, 0.0F, 1.0F);
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
mc.getTextureManager().bindTexture(entityclientplayermp.getLocationSkin());
for (int i1 = 0; i1 < 2; ++i1) {
int j1 = i1 * 2 - 1;
GL11.glPushMatrix();
GL11.glTranslatef(-0.0F, -0.6F, 1.1F * (float) j1);
GL11.glRotatef((float) (-45 * j1), 1.0F, 0.0F, 0.0F);
GL11.glRotatef(-90.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(59.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef((float) (-65 * j1), 0.0F, 1.0F, 0.0F);
render = RenderManager.instance.getEntityRenderObject(mc.thePlayer);
renderplayer = (RenderPlayer) render;
f10 = 1.0F;
GL11.glScalef(f10, f10, f10);
renderFirstPersonArm(renderplayer, mc.thePlayer);
GL11.glPopMatrix();
}
f6 = entityclientplayermp.getSwingProgress(partialTickTime);
f7 = MathHelper.sin(f6 * f6 * (float) Math.PI);
f8 = MathHelper.sin(MathHelper.sqrt_float(f6) * (float) Math.PI);
GL11.glRotatef(-f7 * 20.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-f8 * 20.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(-f8 * 80.0F, 1.0F, 0.0F, 0.0F);
f9 = 0.38F;
GL11.glScalef(f9, f9, f9);
GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F);
GL11.glTranslatef(-1.0F, -1.0F, 0.0F);
f10 = 0.015625F;
GL11.glScalef(f10, f10, f10);
mc.getTextureManager().bindTexture(RES_MAP_BACKGROUND);
Tessellator tessellator = Tessellator.instance;
GL11.glNormal3f(0.0F, 0.0F, -1.0F);
tessellator.startDrawingQuads();
byte b0 = 7;
tessellator.addVertexWithUV((double) (0 - b0), (double) (128 + b0), 0.0D, 0.0D, 1.0D);
tessellator.addVertexWithUV((double) (128 + b0), (double) (128 + b0), 0.0D, 1.0D, 1.0D);
tessellator.addVertexWithUV((double) (128 + b0), (double) (0 - b0), 0.0D, 1.0D, 0.0D);
tessellator.addVertexWithUV((double) (0 - b0), (double) (0 - b0), 0.0D, 0.0D, 0.0D);
tessellator.draw();
IItemRenderer custom = MinecraftForgeClient.getItemRenderer(itemstack, FIRST_PERSON_MAP);
MapData mapdata = ((ItemMap) itemstack.getItem()).getMapData(itemstack, mc.theWorld);
if (custom == null) {
if (mapdata != null) {
mc.entityRenderer.getMapItemRenderer().func_148250_a(mapdata, false);
}
} else {
custom.renderItem(FIRST_PERSON_MAP, itemstack, mc.thePlayer, mc.getTextureManager(), mapdata);
}
GL11.glPopMatrix();
} else if (itemstack != null) {
GL11.glPushMatrix();
f13 = 0.8F;
if (entityclientplayermp.getItemInUseCount() > 0) {
EnumAction enumaction = itemstack.getItemUseAction();
if (enumaction == EnumAction.eat || enumaction == EnumAction.drink) {
f6 = (float) entityclientplayermp.getItemInUseCount() - partialTickTime + 1.0F;
f7 = 1.0F - f6 / (float) itemstack.getMaxItemUseDuration();
f8 = 1.0F - f7;
f8 = f8 * f8 * f8;
f8 = f8 * f8 * f8;
f8 = f8 * f8 * f8;
f9 = 1.0F - f8;
GL11.glTranslatef(0.0F, MathHelper.abs(MathHelper.cos(f6 / 4.0F * (float) Math.PI) * 0.1F) * (float) ((double) f7 > 0.2D ? 1 : 0), 0.0F);
GL11.glTranslatef(f9 * 0.6F, -f9 * 0.5F, 0.0F);
GL11.glRotatef(f9 * 90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(f9 * 10.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(f9 * 30.0F, 0.0F, 0.0F, 1.0F);
}
} else {
f5 = entityclientplayermp.getSwingProgress(partialTickTime);
f6 = MathHelper.sin(f5 * (float) Math.PI);
f7 = MathHelper.sin(MathHelper.sqrt_float(f5) * (float) Math.PI);
GL11.glTranslatef(-f7 * 0.4F, MathHelper.sin(MathHelper.sqrt_float(f5) * (float) Math.PI * 2.0F) * 0.2F, -f6 * 0.2F);
}
GL11.glTranslatef(0.7F * f13, -0.65F * f13 - (1.0F - f1) * 0.6F, -0.9F * f13);
GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
f5 = entityclientplayermp.getSwingProgress(partialTickTime);
f6 = MathHelper.sin(f5 * f5 * (float) Math.PI);
f7 = MathHelper.sin(MathHelper.sqrt_float(f5) * (float) Math.PI);
GL11.glRotatef(-f6 * 20.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-f7 * 20.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(-f7 * 80.0F, 1.0F, 0.0F, 0.0F);
f8 = 0.4F;
GL11.glScalef(f8, f8, f8);
float f11;
float f12;
if (entityclientplayermp.getItemInUseCount() > 0) {
EnumAction enumaction1 = itemstack.getItemUseAction();
if (enumaction1 == EnumAction.block) {
GL11.glTranslatef(-0.5F, 0.2F, 0.0F);
GL11.glRotatef(30.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-80.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(60.0F, 0.0F, 1.0F, 0.0F);
} else if (enumaction1 == EnumAction.bow) {
GL11.glRotatef(-18.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(-12.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-8.0F, 1.0F, 0.0F, 0.0F);
GL11.glTranslatef(-0.9F, 0.2F, 0.0F);
f10 = (float) itemstack.getMaxItemUseDuration() - ((float) entityclientplayermp.getItemInUseCount() - partialTickTime + 1.0F);
f11 = f10 / 20.0F;
f11 = (f11 * f11 + f11 * 2.0F) / 3.0F;
if (f11 > 1.0F) {
f11 = 1.0F;
}
if (f11 > 0.1F) {
GL11.glTranslatef(0.0F, MathHelper.sin((f10 - 0.1F) * 1.3F) * 0.01F * (f11 - 0.1F), 0.0F);
}
GL11.glTranslatef(0.0F, 0.0F, f11 * 0.1F);
GL11.glRotatef(-335.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(-50.0F, 0.0F, 1.0F, 0.0F);
GL11.glTranslatef(0.0F, 0.5F, 0.0F);
f12 = 1.0F + f11 * 0.2F;
GL11.glScalef(1.0F, 1.0F, f12);
GL11.glTranslatef(0.0F, -0.5F, 0.0F);
GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F);
}
}
if (itemstack.getItem().shouldRotateAroundWhenRendering()) {
GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
}
if (itemstack.getItem().requiresMultipleRenderPasses()) {
RenderManager.instance.itemRenderer.renderItem(entityclientplayermp, itemstack, 0, EQUIPPED_FIRST_PERSON);
for (int x = 1; x < itemstack.getItem().getRenderPasses(itemstack.getItemDamage()); x++) {
int k1 = itemstack.getItem().getColorFromItemStack(itemstack, x);
f10 = (float) (k1 >> 16 & 255) / 255.0F;
f11 = (float) (k1 >> 8 & 255) / 255.0F;
f12 = (float) (k1 & 255) / 255.0F;
GL11.glColor4f(1.0F * f10, 1.0F * f11, 1.0F * f12, 1.0F);
RenderManager.instance.itemRenderer.renderItem(entityclientplayermp, itemstack, x, EQUIPPED_FIRST_PERSON);
}
} else {
RenderManager.instance.itemRenderer.renderItem(entityclientplayermp, itemstack, 0, EQUIPPED_FIRST_PERSON);
}
GL11.glPopMatrix();
} else if (!entityclientplayermp.isInvisible()) {
GL11.glPushMatrix();
f13 = 0.8F;
f5 = entityclientplayermp.getSwingProgress(partialTickTime);
f6 = MathHelper.sin(f5 * (float) Math.PI);
f7 = MathHelper.sin(MathHelper.sqrt_float(f5) * (float) Math.PI);
GL11.glTranslatef(-f7 * 0.3F, MathHelper.sin(MathHelper.sqrt_float(f5) * (float) Math.PI * 2.0F) * 0.4F, -f6 * 0.4F);
GL11.glTranslatef(0.8F * f13, -0.75F * f13 - (1.0F - f1) * 0.6F, -0.9F * f13);
GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
f5 = entityclientplayermp.getSwingProgress(partialTickTime);
f6 = MathHelper.sin(f5 * f5 * (float) Math.PI);
f7 = MathHelper.sin(MathHelper.sqrt_float(f5) * (float) Math.PI);
GL11.glRotatef(f7 * 70.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(-f6 * 20.0F, 0.0F, 0.0F, 1.0F);
mc.getTextureManager().bindTexture(entityclientplayermp.getLocationSkin());
GL11.glTranslatef(-1.0F, 3.6F, 3.5F);
GL11.glRotatef(120.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(200.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F);
GL11.glScalef(1.0F, 1.0F, 1.0F);
GL11.glTranslatef(5.6F, 0.0F, 0.0F);
render = RenderManager.instance.getEntityRenderObject(mc.thePlayer);
renderplayer = (RenderPlayer) render;
f10 = 1.0F;
GL11.glScalef(f10, f10, f10);
renderFirstPersonArm(renderplayer, mc.thePlayer);
GL11.glPopMatrix();
}
if (itemstack != null && itemstack.getItem() instanceof ItemCloth) {
GL11.glDisable(GL11.GL_BLEND);
}
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
RenderHelper.disableStandardItemLighting();
}
use of net.minecraft.client.entity.EntityClientPlayerMP in project BloodMagic by WayofTime.
the class ScrollHelper method onMouseEvent.
@SubscribeEvent
public void onMouseEvent(MouseEvent event) {
EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
if (event.dwheel != 0 && player != null && player.isSneaking()) {
ItemStack stack = player.getCurrentEquippedItem();
if (stack != null) {
Item item = stack.getItem();
if (item instanceof SigilOfHolding) {
cycleSigil(stack, player, event.dwheel);
event.setCanceled(true);
}
}
}
}
use of net.minecraft.client.entity.EntityClientPlayerMP in project RFTools by McJty.
the class RenderWorldLastEventHandler method renderHilightedBlock.
private static void renderHilightedBlock(RenderWorldLastEvent evt) {
Coordinate c = RFTools.instance.clientInfo.getHilightedBlock();
if (c == null) {
return;
}
Minecraft mc = Minecraft.getMinecraft();
long time = System.currentTimeMillis();
if (time > RFTools.instance.clientInfo.getExpireHilight()) {
RFTools.instance.clientInfo.hilightBlock(null, -1);
return;
}
if (((time / 500) & 1) == 0) {
return;
}
EntityClientPlayerMP p = mc.thePlayer;
double doubleX = p.lastTickPosX + (p.posX - p.lastTickPosX) * evt.partialTicks;
double doubleY = p.lastTickPosY + (p.posY - p.lastTickPosY) * evt.partialTicks;
double doubleZ = p.lastTickPosZ + (p.posZ - p.lastTickPosZ) * evt.partialTicks;
GL11.glPushMatrix();
GL11.glColor3ub((byte) 255, (byte) 0, (byte) 0);
GL11.glLineWidth(3);
GL11.glTranslated(-doubleX, -doubleY, -doubleZ);
boolean depth = GL11.glIsEnabled(GL11.GL_DEPTH_TEST);
GL11.glDisable(GL11.GL_DEPTH_TEST);
boolean txt2D = GL11.glIsEnabled(GL11.GL_TEXTURE_2D);
GL11.glDisable(GL11.GL_TEXTURE_2D);
Tessellator tessellator = Tessellator.instance;
float mx = c.getX();
float my = c.getY();
float mz = c.getZ();
tessellator.startDrawing(GL11.GL_LINES);
tessellator.addVertex(mx, my, mz);
tessellator.addVertex(mx + 1, my, mz);
tessellator.addVertex(mx, my, mz);
tessellator.addVertex(mx, my + 1, mz);
tessellator.addVertex(mx, my, mz);
tessellator.addVertex(mx, my, mz + 1);
tessellator.addVertex(mx + 1, my + 1, mz + 1);
tessellator.addVertex(mx, my + 1, mz + 1);
tessellator.addVertex(mx + 1, my + 1, mz + 1);
tessellator.addVertex(mx + 1, my, mz + 1);
tessellator.addVertex(mx + 1, my + 1, mz + 1);
tessellator.addVertex(mx + 1, my + 1, mz);
tessellator.addVertex(mx, my + 1, mz);
tessellator.addVertex(mx, my + 1, mz + 1);
tessellator.addVertex(mx, my + 1, mz);
tessellator.addVertex(mx + 1, my + 1, mz);
tessellator.addVertex(mx + 1, my, mz);
tessellator.addVertex(mx + 1, my, mz + 1);
tessellator.addVertex(mx + 1, my, mz);
tessellator.addVertex(mx + 1, my + 1, mz);
tessellator.addVertex(mx, my, mz + 1);
tessellator.addVertex(mx + 1, my, mz + 1);
tessellator.addVertex(mx, my, mz + 1);
tessellator.addVertex(mx, my + 1, mz + 1);
tessellator.draw();
if (depth) {
GL11.glEnable(GL11.GL_DEPTH_TEST);
}
if (txt2D) {
GL11.glEnable(GL11.GL_TEXTURE_2D);
}
GL11.glPopMatrix();
}
Aggregations