-
Play Sound at Player Location(Client Side)?
If it's a delay you want, thread.sleep() definitely won't work as intended, as the post above says. The proper method would depend on what's playing the sounds; if it's an item, consider saving and adding to the countdown in its NBT data; if it's a tile entity, just create an integer in the tile entity's class and add to it in update(); if it's the player itself (or another entity), you might want to look into capabilities.
-
[1.10] [SOLVED] Translucent particles only overlap from certain angles?
Thanks a bunch! There is some weirdness with translucent tiles, but disabling glDepthMask more or less did exactly what I wanted.
-
[1.10] [SOLVED] Translucent particles only overlap from certain angles?
I'm making a custom particle that is partially semi-transparent. I want the alpha of the particles to combine (so that two low-alpha parts appear high-alpha when overlapping), instead of hiding the particles behind them. The particles do this, but only when the player is facing in the direction the particle is traveling. How can I get the particles to overlap regardless of the player's looking direction? My particle's render function: @Override public void renderParticle(VertexBuffer worldRendererIn, Entity entityIn, float partialTicks, float rotationX, float rotationZ, float rotationYZ, float rotationXY, float rotationXZ) { // this.theRenderEngine.bindTexture(rLocPortal); // super.renderParticle(worldRendererIn, entityIn, partialTicks, rotationX, rotationZ, rotationYZ, rotationXY, rotationXZ); // int i = 1;//(int)(((float)this.life + partialTicks) * 15.0F / (float)this.lifeTime); // if (i <= 15) // { GlStateManager.enableAlpha(); GL11.glEnable(GL11.GL_BLEND); this.theRenderEngine.bindTexture(rLoc); float f = /*(float)(i % 4) /*/ (0.0f); float f1 = 1;//f + 0.24975F; float f2 = /*float)(i / 4) /*/ (0.0f); float f3 = 1;//f2 + 0.24975F; float f4 = 0.3F; float f5 = (float)(this.prevPosX + (this.posX - this.prevPosX) * (double)partialTicks - interpPosX); float f6 = (float)(this.prevPosY + (this.posY - this.prevPosY) * (double)partialTicks - interpPosY); float f7 = (float)(this.prevPosZ + (this.posZ - this.prevPosZ) * (double)partialTicks - interpPosZ); GlStateManager.color(0.0F, 0.0F, 0.0F, 1.0F); this.particleAlpha = 1F; this.particleRed = 1F; this.particleBlue = 1F; this.particleGreen = 1F; GlStateManager.disableLighting(); RenderHelper.disableStandardItemLighting(); worldRendererIn.begin(7, VERTEX_FORMAT); worldRendererIn.pos((double)(f5 - rotationX * f4 - rotationXY * f4), (double)(f6 - rotationZ * f4), (double)(f7 - rotationYZ * f4 - rotationXZ * f4)).tex((double)f1, (double)f3).color(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha).lightmap(0, 240).normal(0.0F, 1.0F, 0.0F).endVertex(); worldRendererIn.pos((double)(f5 - rotationX * f4 + rotationXY * f4), (double)(f6 + rotationZ * f4), (double)(f7 - rotationYZ * f4 + rotationXZ * f4)).tex((double)f1, (double)f2).color(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha).lightmap(0, 240).normal(0.0F, 1.0F, 0.0F).endVertex(); worldRendererIn.pos((double)(f5 + rotationX * f4 + rotationXY * f4), (double)(f6 + rotationZ * f4), (double)(f7 + rotationYZ * f4 + rotationXZ * f4)).tex((double)f, (double)f2).color(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha).lightmap(0, 240).normal(0.0F, 1.0F, 0.0F).endVertex(); worldRendererIn.pos((double)(f5 + rotationX * f4 - rotationXY * f4), (double)(f6 - rotationZ * f4), (double)(f7 + rotationYZ * f4 - rotationXZ * f4)).tex((double)f, (double)f3).color(this.particleRed, this.particleGreen, this.particleBlue, this.particleAlpha).lightmap(0, 240).normal(0.0F, 1.0F, 0.0F).endVertex(); Tessellator.getInstance().draw(); GlStateManager.enableLighting(); GL11.glDisable(GL11.GL_BLEND); // } } Apologies if I'm using strange terminology. I'm new to rendering and such.
-
[1.10.2] Converting my IEEPs [1.8.X] to Capabilities
If you need another example, the visible-source Wizardry mod has an easy-to-understand implementation of capabilities. I used it to figure out capabilities myself.
-
[1.10] [SOLVED] Stop mob shadows from rendering?
I'm trying to hide (vanilla) mobs from players under certain conditions. Canceling RenderLivingEvent.Pre works fine for hiding the model itself, but their shadows are still visible. Is there any way to hide them client-side?
-
[1.10] [RESOLVED] Reducing lag caused by lots of TileEntities?
Having a 20% chance of spreading every 5 ticks seems to work well enough. It actually makes the movement feel more natural. Thanks.
-
[1.10] [RESOLVED] Reducing lag caused by lots of TileEntities?
I'm trying to make a grey goo-esque block that eats through plants. It works pretty well so far, but the massive amount of updates that happen every tick when it spreads to a thick forest cripples my FPS. How could I reduce this lag? I've tried disabling the particles, but that doesn't seem to help. TileEntity class: public class TileEntityLocust extends TileEntity implements ITickable { private int counter = 0; private int food = 6; private IBlockState state; @Override public void update() { Random rand = new Random(); counter++; state = worldObj.getBlockState(pos); if(counter >= 5 && !worldObj.isRemote) { for(int i = 0; i < 6; i++) { BlockPos target = pos.offset(EnumFacing.getFront(i)); int newFood = food - 3; boolean didSpread = false; Block block = worldObj.getBlockState(target).getBlock(); Material mat = block.getMaterial(worldObj.getBlockState(target)); if(mat.equals(Material.LEAVES) || mat.equals(Material.PLANTS) || mat.equals(Material.VINE)) { newFood = food + 1; worldObj.destroyBlock(target, !(block instanceof BlockCrops)); worldObj.setBlockState(target, state); didSpread = true; } else if(worldObj.getBlockState(target).getBlock().equals(Blocks.AIR) && newFood >= 0) { worldObj.setBlockState(target, state); didSpread = true; } if(didSpread) { NBTTagCompound tag = worldObj.getTileEntity(target).writeToNBT(new NBTTagCompound()); tag.setInteger("counter", 0); tag.setInteger("food", newFood); worldObj.getTileEntity(target).readFromNBT(tag); } } worldObj.setBlockToAir(pos); } worldObj.spawnParticle(EnumParticleTypes.SWEEP_ATTACK, (double)((float)pos.getX() + rand.nextFloat()), (double)((float)pos.getY() + rand.nextFloat()), (double)((float)pos.getZ() + rand.nextFloat()), (rand.nextDouble() - 0.5) / 5, (rand.nextDouble() - 0.5) / 5, (rand.nextDouble() - 0.5) / 5, new int[0]); } @Override public void readFromNBT(NBTTagCompound tag) { super.readFromNBT(tag); counter = tag.getInteger("counter"); food = tag.getInteger("food"); } @Override public NBTTagCompound writeToNBT(NBTTagCompound tag) { tag.setInteger("counter", counter); tag.setInteger("food", food); return super.writeToNBT(tag); } @Override public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity packet) { this.readFromNBT(packet.getNbtCompound()); } }
-
[1.10] Glowing effect client-side?
It just applies a potion effect. I tried only doing that if worldObj.isRemote, but the effect isn't visible.
-
[1.10] Glowing effect client-side?
Is there any way to render the spectral arrow's "Glowing" effect on a mob so that it's only visible on a certain player's client?
-
[1.8] Tooltip formatting breaks after the mod has been built
I added that to the end of the file (since you didn't specify a location), but it's just replaced the unintelligible character with a '?' in a white square.
-
[1.8] Tooltip formatting breaks after the mod has been built
I've been using the section sign (§) to make my item tooltips a bit more colorful. I've been doing this using Item#addInformation. The formatting works perfectly in the development environment, but whenever I build the mod and use it in the actual game, it bugs out and seems to replace all the section signs with another unintelligible symbol, resulting in no formatting taking place. What's wrong?
-
[1.8] Cancelling particles?
Is there any way to prevent the player from emitting particles when they sprint/swim/fall/etc.? (when they've equipped a certain item.) I'm trying to make the player completely undetectable, and this is the last step.
-
[1.8] [SOLVED] Making mobs ignore the player?
Thanks! The problem was that I forgot to cast event.entityLiving to a more specific type; it's rather misleading when it actually gives you an EntityLivingBase.
-
[1.8] [SOLVED] Making mobs ignore the player?
I've already tried setting its target to null in the event, but the field is final, and the entity's saved target is private. I already have the item canceling damage, but that's not the point.
-
[1.8] [SOLVED] Making mobs ignore the player?
I'm trying to make an armor item that, when worn, causes all mobs to ignore (not target) the player. I've tried removing EntityAITarget/EntityAINearestAttackableTarget, but I keep getting ConcurrentModificationExceptions. How would I go about doing this properly?
IPS spam blocked by CleanTalk.