-
[1.8] Getting the chat input and modifying it.
Can't you do it in ClientConnectToServerEvent with some sort of net handler intercepting some chat packet?
-
[1.8] Getting the chat input and modifying it.
Heres the thing, If I did this on the server side every single server would have to download forge and my mod on it and I can tell you already no one is gonna do that. It needs to be on the CLIENT side. Sorry if I didn't make it clearer in the first post.
-
[1.8] Getting the chat input and modifying it.
Hello, I am currently coding a auto correct mod that is suppose to read the message the player types (after they press enter), and modify or cancel it. The mod is almost finished all I need now is to figure out how to modify the chat input the client enters. I have tried google, no luck with that so I came here.
-
[1.7.10] Ore generation classes
No thanks
-
[1.7.10] Ore generation classes
WorldProviderSettings is not a class. I've tried WorldProvider and that didn't work either.
-
[1.7.10] Ore generation classes
I have some ideas for some new ores, I would like a ore to replicate the generation as one of the ores in minecraft, for that I would need to know the classes that generate the ore. My question is where are these classes located?
-
Blocks in biomes
Hello, I was wondering if their is a way to get all the blocks in a Biome.
-
[1.7.10] How do I get the coordinates the player is looking at?
Where can I find this "rayTrace"? And I'm using forge 1.7.10
-
[1.7.10] How do I get the coordinates the player is looking at?
Title says most of it. Code: Airstrike drops a TNT on the location. The code doesn't get the coordinates the player is looking at. It randomly choosing a coordinate.
-
[1.7.10] Problem with TNT.
Hey, I have an idea! How about you fuck off this post. Since you are no help at all.
-
[1.7.10] Problem with TNT.
It actually is. Just read threw the class. It isn't that hard you know.
-
[1.7.10] Problem with TNT.
That didn't help nor solve anything.
-
[1.7.10] Problem with TNT.
Can you not read? I clearly said the problem was in onPlacedBlockBy.
-
[1.7.10] Problem with TNT.
Class: public class BlockNuke extends Block { @SideOnly(Side.CLIENT) private IIcon top; @SideOnly(Side.CLIENT) private IIcon bottom; @SideOnly(Side.CLIENT) private IIcon front; @SideOnly(Side.CLIENT) private IIcon side; private static final String __OBFID = "CL_00000324"; public BlockNuke() { super(Material.grass); this.setStepSound(soundTypeGrass); } /** * Gets the block's texture. Args: side, meta */ @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata){ if (side == 1) return this.top; else if (side == 0) return this.bottom; else if (metadata == 2 && side == 2) return this.front; else if (metadata == 3 && side == 5) return this.front; else if (metadata == 0 && side == 3) return this.front; else if (metadata == 1 && side == 4) return this.front; else return this.blockIcon; } /** * Called whenever the block is added into the world. Args: world, x, y, z */ public void onBlockAdded(World p_149726_1_, int p_149726_2_, int p_149726_3_, int p_149726_4_) { super.onBlockAdded(p_149726_1_, p_149726_2_, p_149726_3_, p_149726_4_); if (p_149726_1_.isBlockIndirectlyGettingPowered(p_149726_2_, p_149726_3_, p_149726_4_)) { this.onBlockDestroyedByPlayer(p_149726_1_, p_149726_2_, p_149726_3_, p_149726_4_, 1); p_149726_1_.setBlockToAir(p_149726_2_, p_149726_3_, p_149726_4_); } } @Override public void onBlockPlacedBy(World par1World, int x, int y, int z, EntityLivingBase par5EntityLivingBase, ItemStack par6ItemStack) { int whichDirectionFacing = MathHelper .floor_double((double) (par5EntityLivingBase.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3; par1World.setBlockMetadataWithNotify(x, y, z, whichDirectionFacing, 2); } /** * Lets the block know when one of its neighbor changes. Doesn't know which * neighbor changed (coordinates passed are their own) Args: x, y, z, * neighbor Block */ public void onNeighborBlockChange(World p_149695_1_, int p_149695_2_, int p_149695_3_, int p_149695_4_, Block p_149695_5_) { if (p_149695_1_.isBlockIndirectlyGettingPowered(p_149695_2_, p_149695_3_, p_149695_4_)) { this.onBlockDestroyedByPlayer(p_149695_1_, p_149695_2_, p_149695_3_, p_149695_4_, 1); p_149695_1_.setBlockToAir(p_149695_2_, p_149695_3_, p_149695_4_); } } /** * Returns the quantity of items to drop on block destruction. */ public int quantityDropped(Random p_149745_1_) { return 1; } /** * Called upon the block being destroyed by an explosion */ public void onBlockDestroyedByExplosion(World p_149723_1_, int p_149723_2_, int p_149723_3_, int p_149723_4_, Explosion p_149723_5_) { if (!p_149723_1_.isRemote) { EntityTNTPrimed entitytntprimed = new EntityTNTPrimed(p_149723_1_, (double) ((float) p_149723_2_ + 0.5F), (double) ((float) p_149723_3_ + 0.5F), (double) ((float) p_149723_4_ + 0.5F), p_149723_5_.getExplosivePlacedBy()); entitytntprimed.fuse = p_149723_1_.rand.nextInt(entitytntprimed.fuse / 4) + entitytntprimed.fuse / 8; p_149723_1_.spawnEntityInWorld(entitytntprimed); } } /** * Called right before the block is destroyed by a player. Args: world, x, * y, z, metaData */ public void onBlockDestroyedByPlayer(World p_149664_1_, int p_149664_2_, int p_149664_3_, int p_149664_4_, int p_149664_5_) { this.func_150114_a(p_149664_1_, p_149664_2_, p_149664_3_, p_149664_4_, p_149664_5_, (EntityLivingBase) null); } public void func_150114_a(World p_150114_1_, int p_150114_2_, int p_150114_3_, int p_150114_4_, int p_150114_5_, EntityLivingBase p_150114_6_) { if (!p_150114_1_.isRemote) { if ((p_150114_5_ & 1) == 1) { EntityTNTPrimed entitytntprimed = new EntityTNTPrimed(p_150114_1_, (double) ((float) p_150114_2_ + 0.5F), (double) ((float) p_150114_3_ + 0.5F), (double) ((float) p_150114_4_ + 0.5F), p_150114_6_); p_150114_1_.spawnEntityInWorld(entitytntprimed); p_150114_1_.playSoundAtEntity(entitytntprimed, "game.tnt.primed", 1.0F, 1.0F); } } } /** * Called upon block activation (right click on the block.) */ public boolean onBlockActivated(World p_149727_1_, int p_149727_2_, int p_149727_3_, int p_149727_4_, EntityPlayer p_149727_5_, int p_149727_6_, float p_149727_7_, float p_149727_8_, float p_149727_9_) { if (p_149727_5_.getCurrentEquippedItem() != null && p_149727_5_.getCurrentEquippedItem().getItem() == Items.flint_and_steel) { this.func_150114_a(p_149727_1_, p_149727_2_, p_149727_3_, p_149727_4_, 1, p_149727_5_); p_149727_1_.setBlockToAir(p_149727_2_, p_149727_3_, p_149727_4_); p_149727_5_.getCurrentEquippedItem().damageItem(1, p_149727_5_); return true; } else { return super.onBlockActivated(p_149727_1_, p_149727_2_, p_149727_3_, p_149727_4_, p_149727_5_, p_149727_6_, p_149727_7_, p_149727_8_, p_149727_9_); } } /** * Triggered whenever an entity collides with this block (enters into the * block). Args: world, x, y, z, entity */ public void onEntityCollidedWithBlock(World p_149670_1_, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity p_149670_5_) { if (p_149670_5_ instanceof EntityArrow && !p_149670_1_.isRemote) { EntityArrow entityarrow = (EntityArrow) p_149670_5_; if (entityarrow.isBurning()) { this.func_150114_a(p_149670_1_, p_149670_2_, p_149670_3_, p_149670_4_, 1, entityarrow.shootingEntity instanceof EntityLivingBase ? (EntityLivingBase) entityarrow.shootingEntity : null); p_149670_1_.setBlockToAir(p_149670_2_, p_149670_3_, p_149670_4_); } } } /** * Return whether this block can drop from an explosion. */ public boolean canDropFromExplosion(Explosion p_149659_1_) { return false; } @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister reg) { this.blockIcon = reg.registerIcon("explosives:nuke_side"); top = reg.registerIcon("explosives:nuke_top"); bottom = reg.registerIcon("explosives:nuke_bottom"); front = reg.registerIcon("explosives:nuke_front"); } Problem: The block randomly turns into TNT when I break it. I've tried commenting out onBlockPlacedBy and then it didn't randomly explode when I break it. I need the onBlockPlacedBy function. Why is onBlockPlacedBy causing this and how can I use it without this happening?
-
Chat looks different with Forge recommended 11.14.4.1563
It works! Thanks for helping! Have a nice day.
IPS spam blocked by CleanTalk.