Posted July 6, 201411 yr I want to exactly like I say: Spawn a Mob when the player is near this block. Block: package net.endernoobs.rpgmod; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.item.Item; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityMobSpawner; import net.minecraft.world.World; public class BlockGrimReaper extends Block{ protected BlockGrimReaper(Material p_i45394_1_) { super(p_i45394_1_); } public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityGrimReaper(); } public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { return null; } } Tile Entity: package net.endernoobs.rpgmod; import net.minecraft.tileentity.TileEntity; public class TileEntityGrimReaper extends TileEntity { private int activatingRangeFromPlayer = 16; public boolean isActivated() { return this.worldObj.getClosestPlayer((double) this.xCoord + 0.5D, (double) this.yCoord + 0.5D, (double) this.zCoord + 0.5D, (double) this.activatingRangeFromPlayer) != null; } public void updateEntity() { if (this.isActivated()) { EntityGrimReaper boss = new EntityGrimReaper(worldObj); this.worldObj.spawnEntityInWorld(boss); this.worldObj.setBlockToAir(this.xCoord, this.yCoord, this.zCoord); } } }
July 6, 201411 yr Author Okay, I updated the code, It still does not work. Block: package net.endernoobs.rpgmod; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.item.Item; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityMobSpawner; import net.minecraft.world.World; public class BlockGrimReaper extends Block{ protected BlockGrimReaper(Material p_i45394_1_) { super(p_i45394_1_); } public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityGrimReaper(); } public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { return null; } @Override public boolean hasTileEntity(int metadata) { return true; } } Tile Entity: package net.endernoobs.rpgmod; import net.minecraft.tileentity.TileEntity; public class TileEntityGrimReaper extends TileEntity { private int activatingRangeFromPlayer = 16; public boolean isActivated() { System.out.println("Active"); return this.worldObj.getClosestPlayer((double) this.xCoord + 0.5D, (double) this.yCoord + 0.5D, (double) this.zCoord + 0.5D, (double) this.activatingRangeFromPlayer) != null; } @Override public void updateEntity() { System.out.println("Is it active?"); if (this.isActivated()) { EntityGrimReaper boss = new EntityGrimReaper(worldObj); this.worldObj.spawnEntityInWorld(boss); this.worldObj.setBlockToAir(this.xCoord, this.yCoord, this.zCoord); } } }
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.