remove skull tile entity

This commit is contained in:
Sen 2025-06-01 16:02:45 +02:00
parent bda91dac26
commit 618a076c0f
Signed by: sen
GPG key ID: 3AC50A6F47D1B722
24 changed files with 165 additions and 879 deletions

View file

@ -13,180 +13,35 @@ import common.util.Facing;
import common.world.State;
import common.world.World;
public class BlockPumpkin extends BlockDirectional
{
// private BlockPattern snowmanBasePattern;
// private BlockPattern snowmanPattern;
// private BlockPattern golemBasePattern;
// private BlockPattern golemPattern;
// private static final Predicate<IBlockState> field_181085_Q = new Predicate<IBlockState>()
// {
// public boolean test(IBlockState p_apply_1_)
// {
// return p_apply_1_ != null && (p_apply_1_.getBlock() == Blocks.pumpkin || p_apply_1_.getBlock() == Blocks.lit_pumpkin);
// }
// };
public class BlockPumpkin extends BlockDirectional {
public BlockPumpkin() {
super(Material.SOFT);
this.setDefaultState(this.getBaseState().withProperty(FACING, Facing.NORTH));
this.setTab(CheatTab.PLANTS);
}
public BlockPumpkin()
{
super(Material.SOFT);
this.setDefaultState(this.getBaseState().withProperty(FACING, Facing.NORTH));
// this.setTickRandomly(true);
this.setTab(CheatTab.PLANTS);
}
public boolean canPlaceBlockAt(World world, BlockPos pos) {
return world.getState(pos).getBlock().getMaterial().isReplaceable() && world.isBlockSolid(pos.down());
}
// public void onBlockAdded(IWorldServer worldIn, BlockPos pos, IBlockState state)
// {
// super.onBlockAdded(worldIn, pos, state);
// this.trySpawnGolem(worldIn, pos);
// }
public State onBlockPlaced(World world, BlockPos pos, Facing face, float hitX, float hitY, float hitZ, int meta, EntityLiving placer) {
return this.getState().withProperty(FACING, placer.getHorizontalFacing().getOpposite());
}
// public boolean canDispenserPlace(World worldIn, BlockPos pos)
// {
// return this.getSnowmanBasePattern().match(worldIn, pos) != null; // || this.getGolemBasePattern().match(worldIn, pos) != null;
// }
public State getStateFromMeta(int meta) {
return this.getState().withProperty(FACING, Facing.getHorizontal(meta));
}
// private void trySpawnGolem(World worldIn, BlockPos pos)
// {
// if(!Config.createSnowman) {
// return;
// }
//
// BlockPattern.PatternHelper blockpattern$patternhelper;
//
// if ((blockpattern$patternhelper = this.getSnowmanPattern().match(worldIn, pos)) != null)
// {
// for (int i = 0; i < this.getSnowmanPattern().getThumbLength(); ++i)
// {
// BlockWorldState blockworldstate = blockpattern$patternhelper.translateOffset(0, i, 0);
// worldIn.setBlockState(blockworldstate.getPos(), Blocks.air.getDefaultState(), 2);
// }
//
// EntitySnowman entitysnowman = new EntitySnowman(worldIn);
// BlockPos blockpos1 = blockpattern$patternhelper.translateOffset(0, 2, 0).getPos();
// entitysnowman.setLocationAndAngles((double)blockpos1.getX() + 0.5D, (double)blockpos1.getY() + 0.05D, (double)blockpos1.getZ() + 0.5D, 0.0F, 0.0F);
// worldIn.spawnEntityInWorld(entitysnowman);
//
// for (int j = 0; j < 120; ++j)
// {
// worldIn.spawnParticle(EnumParticleTypes.SNOW_SHOVEL, (double)blockpos1.getX() + worldIn.rand.doublev(), (double)blockpos1.getY() + worldIn.rand.doublev() * 2.5D, (double)blockpos1.getZ() + worldIn.rand.doublev(), 0.0D, 0.0D, 0.0D);
// }
//
// for (int i1 = 0; i1 < this.getSnowmanPattern().getThumbLength(); ++i1)
// {
// BlockWorldState blockworldstate1 = blockpattern$patternhelper.translateOffset(0, i1, 0);
// worldIn.notifyNeighborsRespectDebug(blockworldstate1.getPos(), Blocks.air);
// }
// }
//// else if ((blockpattern$patternhelper = this.getGolemPattern().match(worldIn, pos)) != null)
//// {
//// for (int k = 0; k < this.getGolemPattern().getPalmLength(); ++k)
//// {
//// for (int l = 0; l < this.getGolemPattern().getThumbLength(); ++l)
//// {
//// worldIn.setBlockState(blockpattern$patternhelper.translateOffset(k, l, 0).getPos(), Blocks.air.getDefaultState(), 2);
//// }
//// }
////
//// BlockPos blockpos = blockpattern$patternhelper.translateOffset(1, 2, 0).getPos();
//// EntityIronGolem entityirongolem = new EntityIronGolem(worldIn);
////// entityirongolem.setPlayerCreated(true);
//// entityirongolem.setLocationAndAngles((double)blockpos.getX() + 0.5D, (double)blockpos.getY() + 0.05D, (double)blockpos.getZ() + 0.5D, 0.0F, 0.0F);
//// worldIn.spawnEntityInWorld(entityirongolem);
////
//// for (int j1 = 0; j1 < 120; ++j1)
//// {
//// worldIn.spawnParticle(EnumParticleTypes.SNOWBALL, (double)blockpos.getX() + worldIn.rand.doublev(), (double)blockpos.getY() + worldIn.rand.doublev() * 3.9D, (double)blockpos.getZ() + worldIn.rand.doublev(), 0.0D, 0.0D, 0.0D);
//// }
////
//// for (int k1 = 0; k1 < this.getGolemPattern().getPalmLength(); ++k1)
//// {
//// for (int l1 = 0; l1 < this.getGolemPattern().getThumbLength(); ++l1)
//// {
//// BlockWorldState blockworldstate2 = blockpattern$patternhelper.translateOffset(k1, l1, 0);
//// worldIn.notifyNeighborsRespectDebug(blockworldstate2.getPos(), Blocks.air);
//// }
//// }
//// }
// }
public int getMetaFromState(State state) {
return state.getValue(FACING).getHorizontalIndex();
}
public boolean canPlaceBlockAt(World worldIn, BlockPos pos)
{
return worldIn.getState(pos).getBlock().getMaterial().isReplaceable() && worldIn.isBlockSolid(pos.down());
}
protected IProperty[] getProperties() {
return new IProperty[] {FACING};
}
/**
* Called by ItemBlocks just before a block is actually set in the world, to allow for adjustments to the
* IBlockstate
*/
public State onBlockPlaced(World worldIn, BlockPos pos, Facing facing, float hitX, float hitY, float hitZ, int meta, EntityLiving placer)
{
return this.getState().withProperty(FACING, placer.getHorizontalFacing().getOpposite());
}
/**
* Convert the given metadata into a BlockState for this Block
*/
public State getStateFromMeta(int meta)
{
return this.getState().withProperty(FACING, Facing.getHorizontal(meta));
}
/**
* Convert the BlockState into the correct metadata value
*/
public int getMetaFromState(State state)
{
return ((Facing)state.getValue(FACING)).getHorizontalIndex();
}
protected IProperty[] getProperties()
{
return new IProperty[] {FACING};
}
// protected BlockPattern getSnowmanBasePattern()
// {
// if (this.snowmanBasePattern == null)
// {
// this.snowmanBasePattern = FactoryBlockPattern.start().aisle(" ", "#", "#").where('#', BlockWorldState.hasState(BlockStateHelper.forBlock(Blocks.snow))).build();
// }
//
// return this.snowmanBasePattern;
// }
//
// protected BlockPattern getSnowmanPattern()
// {
// if (this.snowmanPattern == null)
// {
// this.snowmanPattern = FactoryBlockPattern.start().aisle("^", "#", "#").where('^', BlockWorldState.hasState(field_181085_Q)).where('#', BlockWorldState.hasState(BlockStateHelper.forBlock(Blocks.snow))).build();
// }
//
// return this.snowmanPattern;
// }
// protected BlockPattern getGolemBasePattern()
// {
// if (this.golemBasePattern == null)
// {
// this.golemBasePattern = FactoryBlockPattern.start().aisle("~ ~", "###", "~#~").where('#', BlockWorldState.hasState(BlockStateHelper.forBlock(Blocks.iron_block))).where('~', BlockWorldState.hasState(BlockStateHelper.forBlock(Blocks.air))).build();
// }
//
// return this.golemBasePattern;
// }
// protected BlockPattern getGolemPattern()
// {
// if (this.golemPattern == null)
// {
// this.golemPattern = FactoryBlockPattern.start().aisle("~^~", "###", "~#~").where('^', BlockWorldState.hasState(field_181085_Q)).where('#', BlockWorldState.hasState(BlockStateHelper.forBlock(Blocks.iron_block))).where('~', BlockWorldState.hasState(BlockStateHelper.forBlock(Blocks.air))).build();
// }
//
// return this.golemPattern;
// }
public Model getModel(ModelProvider provider, String name, State state) {
return provider.getModel("pumpkin_side").add().du("pumpkin_top").n("pumpkin_face_" + (this.getLightValue() == 0 ? "off" : "on"))
.s().we().rotate(ModelRotation.getNorthRot(state.getValue(FACING)));
}
public Model getModel(ModelProvider provider, String name, State state) {
return provider.getModel("pumpkin_side").add().du("pumpkin_top").n("pumpkin_face_" + (this.getLightValue() == 0 ? "off" : "on")).s().we()
.rotate(ModelRotation.getNorthRot(state.getValue(FACING)));
}
}

View file

@ -1,148 +1,69 @@
package common.block.tile;
import common.block.BlockContainer;
import common.block.BlockDirectional;
import common.block.Material;
import common.entity.types.EntityLiving;
import common.init.Items;
import common.item.Item;
import common.item.ItemStack;
import common.model.Transforms;
import common.model.Model;
import common.model.ModelProvider;
import common.model.ModelRotation;
import common.properties.IProperty;
import common.properties.PropertyDirection;
import common.rng.Random;
import common.tileentity.TileEntity;
import common.tileentity.TileEntitySkull;
import common.util.BlockPos;
import common.util.BoundingBox;
import common.util.Facing;
import common.world.IWorldAccess;
import common.world.State;
import common.world.World;
import common.world.AWorldServer;
public class BlockSkull extends BlockContainer
{
public static final PropertyDirection FACING = PropertyDirection.create("facing");
public class BlockSkull extends BlockDirectional {
public BlockSkull() {
super(Material.SMALL);
this.setDefaultState(this.getBaseState().withProperty(FACING, Facing.NORTH));
this.setBlockBounds(0.25F, 0.0F, 0.25F, 0.75F, 0.5F, 0.75F);
}
public BlockSkull()
{
super(Material.SMALL);
this.setDefaultState(this.getBaseState().withProperty(FACING, Facing.NORTH));
this.setBlockBounds(0.25F, 0.0F, 0.25F, 0.75F, 0.5F, 0.75F);
}
public boolean isOpaqueCube()
{
return false;
}
public boolean canPlaceBlockAt(World world, BlockPos pos) {
return world.getState(pos).getBlock().getMaterial().isReplaceable() && world.isBlockSolid(pos.down());
}
public boolean isFullCube()
{
return false;
}
public State onBlockPlaced(World world, BlockPos pos, Facing face, float hitX, float hitY, float hitZ, int meta, EntityLiving placer) {
return this.getState().withProperty(FACING, placer.getHorizontalFacing().getOpposite());
}
public void setBlockBoundsBasedOnState(IWorldAccess worldIn, BlockPos pos)
{
switch ((Facing)worldIn.getState(pos).getValue(FACING))
{
case UP:
default:
this.setBlockBounds(0.25F, 0.0F, 0.25F, 0.75F, 0.5F, 0.75F);
break;
public State getStateFromMeta(int meta) {
return this.getState().withProperty(FACING, Facing.getHorizontal(meta));
}
case NORTH:
this.setBlockBounds(0.25F, 0.25F, 0.5F, 0.75F, 0.75F, 1.0F);
break;
public int getMetaFromState(State state) {
return state.getValue(FACING).getHorizontalIndex();
}
case SOUTH:
this.setBlockBounds(0.25F, 0.25F, 0.0F, 0.75F, 0.75F, 0.5F);
break;
protected IProperty[] getProperties() {
return new IProperty[] {FACING};
}
case WEST:
this.setBlockBounds(0.5F, 0.25F, 0.25F, 1.0F, 0.75F, 0.75F);
break;
public Model getModel(ModelProvider provider, String name, State state) {
return provider.getModel("skull_top").add(4, 0, 4, 12, 8, 12)
.d("skull_bottom").u().n("skull_front").s("skull_back").w("skull_right").e("skull_left").rotate(ModelRotation.getNorthRot(state.getValue(FACING)));
}
case EAST:
this.setBlockBounds(0.0F, 0.25F, 0.25F, 0.5F, 0.75F, 0.75F);
}
}
public boolean isOpaqueCube() {
return false;
}
public BoundingBox getCollisionBoundingBox(World worldIn, BlockPos pos, State state)
{
this.setBlockBoundsBasedOnState(worldIn, pos);
return super.getCollisionBoundingBox(worldIn, pos, state);
}
public State onBlockPlaced(World worldIn, BlockPos pos, Facing facing, float hitX, float hitY, float hitZ, int meta, EntityLiving placer)
{
return this.getState().withProperty(FACING, placer.getHorizontalFacing());
}
public TileEntity createNewTileEntity(World worldIn)
{
return new TileEntitySkull();
}
public boolean isFullCube() {
return false;
}
public Item getItem(World worldIn, BlockPos pos)
{
return Items.skull;
}
public void dropBlockAsItemWithChance(World worldIn, BlockPos pos, State state, float chance, int fortune)
{
}
public Item getItemDropped(State state, Random rand, int fortune) {
return Items.skull;
}
// public void onBlockHarvested(World worldIn, BlockPos pos, State state, EntityNPC player)
// {
// if (player.creative)
// {
// if(!worldIn.client)
// worldIn.removeTileEntity(pos);
// }
//
// super.onBlockHarvested(worldIn, pos, state, player);
// }
public Item getItem(World worldIn, BlockPos pos) {
return Items.skull;
}
public void onBlockRemoved(AWorldServer worldIn, BlockPos pos, State state)
{
if (!worldIn.client)
{
TileEntity tileentity = worldIn.getTileEntity(pos);
if (tileentity instanceof TileEntitySkull)
{
ItemStack itemstack = new ItemStack(Items.skull, 1, 0);
spawnAsEntity(worldIn, pos, itemstack);
}
super.onBlockRemoved(worldIn, pos, state);
}
}
public Item getItemDropped(State state, Random rand, int fortune)
{
return Items.skull;
}
public State getStateFromMeta(int meta)
{
return this.getState().withProperty(FACING, Facing.getFront(meta));
}
public int getMetaFromState(State state)
{
return ((Facing)state.getValue(FACING)).getIndex();
}
protected IProperty[] getProperties()
{
return new IProperty[] {FACING};
}
public boolean isXrayVisible()
{
return true;
}
public Transforms getTransform() {
return Transforms.SKULL;
}
public boolean isXrayVisible() {
return true;
}
}

View file

@ -479,7 +479,7 @@ public abstract class BlockRegistry {
registerBlock(307, "flower_pot", (new BlockFlowerPot()).setHardness(0.0F).setStepSound(SoundType.STONE).setDisplay("Blumentopf"));
registerBlock(308, "sponge", (new Block(Material.LOOSE)).setHardness(0.6F).setStepSound(SoundType.GRASS).setDisplay("Schwamm")
.setTab(CheatTab.DECORATION));
registerBlock(309, "skull", (new BlockSkull()).setHardness(1.0F).setStepSound(SoundType.STONE).setDisplay("Kopf"));
registerBlock(309, "skull", (new BlockSkull()).setHardness(1.0F).setStepSound(SoundType.STONE).setDisplay("Schädel").setTab(CheatTab.DECORATION));
registerBlock(310, "lit_pumpkin",
(new BlockPumpkin()).setHardness(1.0F).setStepSound(SoundType.WOOD).setLightLevel(1.0F).setDisplay("Kürbislaterne"));
registerBlock(311, "hay_block", (new BlockHay()).setHardness(0.5F).setStepSound(SoundType.GRASS).setDisplay("Strohballen")

View file

@ -99,14 +99,13 @@ import common.item.ItemPotion;
import common.item.ItemPressurePlate;
import common.item.ItemRecord;
import common.item.ItemRedstone;
import common.item.ItemReed;
import common.item.ItemSmallBlock;
import common.item.ItemRod;
import common.item.ItemSaddle;
import common.item.ItemSeedFood;
import common.item.ItemSeeds;
import common.item.ItemShears;
import common.item.ItemSign;
import common.item.ItemSkull;
import common.item.ItemSlab;
import common.item.ItemSmall;
import common.item.ItemSnow;
@ -410,7 +409,7 @@ public abstract class ItemRegistry {
registerItem("stick", (new ItemStick()).setDisplay("Stock").setTab(CheatTab.MATERIALS).setMaxStackSize(256));
registerItem("bowl", (new ItemSmall()).setDisplay("Schüssel").setTab(CheatTab.MISC));
registerItem("mushroom_stew", (new ItemSoup(6)).setDisplay("Pilzsuppe"));
registerItem((new ItemReed(Blocks.string)).setDisplay("Faden").setTab(CheatTab.TECHNOLOGY).setMaxStackSize(1024));
registerItem((new ItemSmallBlock(Blocks.string)).setDisplay("Faden").setTab(CheatTab.TECHNOLOGY).setMaxStackSize(1024));
registerItem("feather", (new Item()).setDisplay("Feder").setTab(CheatTab.MATERIALS).setMaxStackSize(512));
registerItem("gunpowder", (new Item()).setDisplay("Schwarzpulver").setPotionEffect(PotionHelper.gunpowderEffect).setTab(CheatTab.MATERIALS).setMaxStackSize(256));
registerItem((new ItemSeeds(Blocks.wheat, Blocks.farmland)).setDisplay("Weizenkörner").setMaxStackSize(256));
@ -432,7 +431,7 @@ public abstract class ItemRegistry {
registerItem("leather", (new Item()).setDisplay("Leder").setTab(CheatTab.MATERIALS));
registerItem("brick", (new Item()).setDisplay("Ziegel").setTab(CheatTab.MATERIALS));
registerItem("clay_ball", (new Item()).setDisplay("Ton").setTab(CheatTab.MATERIALS).setMaxStackSize(128));
registerItem((new ItemReed(Blocks.reeds)).setDisplay("Zuckerrohr").setTab(CheatTab.PLANTS).setMaxStackSize(128));
registerItem((new ItemSmallBlock(Blocks.reeds)).setDisplay("Zuckerrohr").setTab(CheatTab.PLANTS).setMaxStackSize(128));
registerItem("paper", (new Item()).setDisplay("Papier").setTab(CheatTab.MATERIALS).setMaxStackSize(256));
registerItem("book", (new ItemBook()).setDisplay("Buch").setTab(CheatTab.MISC));
registerItem("slime_ball", (new Item()).setDisplay("Schleimball").setTab(CheatTab.MATERIALS).setMaxStackSize(128));
@ -448,8 +447,8 @@ public abstract class ItemRegistry {
registerItem("dye", dye);
registerItem("bone", (new ItemStick()).setDisplay("Knochen").setTab(CheatTab.MATERIALS).setMaxStackSize(128));
registerItem("sugar", (new Item()).setDisplay("Zucker").setPotionEffect(PotionHelper.sugarEffect).setTab(CheatTab.MATERIALS).setMaxStackSize(512));
registerItem((new ItemReed(Blocks.cake)).setMaxStackSize(1).setDisplay("Kuchen").setTab(CheatTab.DECORATION));
registerItem((new ItemReed(Blocks.repeater)).setDisplay("Redstone-Verstärker").setTab(CheatTab.TECHNOLOGY));
registerItem((new ItemSmallBlock(Blocks.cake)).setMaxStackSize(1).setDisplay("Kuchen").setTab(CheatTab.DECORATION));
registerItem((new ItemSmallBlock(Blocks.repeater)).setDisplay("Redstone-Verstärker").setTab(CheatTab.TECHNOLOGY));
registerItem("cookie", (new ItemFood(2, false)).setDisplay("Keks").setMaxStackSize(128));
registerItem("melon", (new ItemFood(2, false)).setDisplay("Melone"));
registerItem((new ItemSeeds(Blocks.pumpkin_stem, Blocks.farmland)).setDisplay("Kürbiskerne").setMaxStackSize(256));
@ -473,8 +472,8 @@ public abstract class ItemRegistry {
registerItem("blaze_powder", (new Item()).setDisplay("Lohenstaub").setPotionEffect(PotionHelper.blazePowderEffect)
.setTab(CheatTab.MATERIALS).setMaxStackSize(256));
registerItem("magma_cream", (new Item()).setDisplay("Magmacreme").setPotionEffect(PotionHelper.magmaCreamEffect).setTab(CheatTab.MATERIALS).setMaxStackSize(128));
registerItem((new ItemReed(Blocks.brewing_stand)).setDisplay("Braustand").setTab(CheatTab.TECHNOLOGY));
registerItem((new ItemReed(Blocks.cauldron)).setDisplay("Kessel").setTab(CheatTab.TECHNOLOGY));
registerItem((new ItemSmallBlock(Blocks.brewing_stand)).setDisplay("Braustand").setTab(CheatTab.TECHNOLOGY));
registerItem((new ItemSmallBlock(Blocks.cauldron)).setDisplay("Kessel").setTab(CheatTab.TECHNOLOGY));
registerItem("charged_orb", (new ItemChargedOrb()).setDisplay("Geladene Kugel"));
registerItem("speckled_melon", (new Item()).setDisplay("Glitzernde Melone").setPotionEffect(PotionHelper.speckledMelonEffect)
.setTab(CheatTab.MISC));
@ -484,21 +483,21 @@ public abstract class ItemRegistry {
registerItem("written_book", (new Item()).setDisplay("Beschriebenes Buch").setTab(CheatTab.MISC));
Item emerald = (new Item()).setDisplay("Smaragd").setTab(CheatTab.METALS);
registerItem("emerald", emerald);
registerItem((new ItemReed(Blocks.flower_pot)).setDisplay("Blumentopf").setTab(CheatTab.DECORATION));
registerItem((new ItemSmallBlock(Blocks.flower_pot)).setDisplay("Blumentopf").setTab(CheatTab.DECORATION));
registerItem((new ItemSeedFood(3, Blocks.carrot, Blocks.farmland)).setDisplay("Karotte").setMaxStackSize(128));
registerItem((new ItemSeedFood(1, Blocks.potato, Blocks.farmland)).setDisplay("Kartoffel").setMaxStackSize(128));
registerItem("baked_potato", (new ItemFood(5, false)).setDisplay("Ofenkartoffel").setMaxStackSize(128));
registerItem("poisonous_potato", (new ItemFood(2, false)).setPotionEffect(Potion.POISON, 5, 0, 0.6F).setDisplay("Giftige Kartoffel").setMaxStackSize(128));
registerItem("golden_carrot", (new ItemFood(6, false)).setDisplay("Goldene Karotte")
.setPotionEffect(PotionHelper.goldenCarrotEffect).setTab(CheatTab.MISC));
registerItem((new ItemSkull()).setDisplay("Kopf"));
registerItem((new ItemSmallBlock(Blocks.skull)).setDisplay("Schädel"));
registerItem("carrot_on_a_stick", (new ItemCarrotOnAStick()).setDisplay("Karottenrute"));
registerItem("charge_crystal", (new ItemEffect()).setDisplay("Energiekristall").setTab(CheatTab.MISC).setColor(TextColor.DMAGENTA));
registerItem("pumpkin_pie", (new ItemFood(8, false)).setDisplay("Kürbiskuchen").setTab(CheatTab.MISC));
registerItem("fireworks", (new ItemFirework()).setDisplay("Feuerwerksrakete"));
registerItem("firework_charge", (new ItemFireworkCharge()).setDisplay("Feuerwerksstern").setTab(CheatTab.MATERIALS));
registerItem("enchanted_book", (new ItemEnchantedBook()).setMaxStackSize(1).setDisplay("Verzaubertes Buch").setTab(CheatTab.MAGIC));
registerItem((new ItemReed(Blocks.comparator)).setDisplay("Redstone-Komparator").setTab(CheatTab.TECHNOLOGY));
registerItem((new ItemSmallBlock(Blocks.comparator)).setDisplay("Redstone-Komparator").setTab(CheatTab.TECHNOLOGY));
registerItem("bloodbrick", (new Item()).setDisplay("Blutroter Ziegel").setTab(CheatTab.MATERIALS));
registerItem("blackbrick", (new Item()).setDisplay("Schwarzer Ziegel").setTab(CheatTab.MATERIALS));
Item quartz = (new Item()).setDisplay("Quarz").setTab(CheatTab.METALS);

View file

@ -111,7 +111,7 @@ public abstract class Items {
public static final ItemBow bow = get("bow");
public static final ItemSmall bowl = get("bowl");
public static final ItemFood bread = get("bread");
public static final ItemReed brewing_stand = get("brewing_stand");
public static final ItemSmallBlock brewing_stand = get("brewing_stand");
public static final Item brick = get("brick");
public static final ItemBlock brick_block = get("brick_block");
public static final ItemSlab brick_slab = get("brick_slab");
@ -121,7 +121,7 @@ public abstract class Items {
public static final ItemBucket bucket = get("bucket");
public static final ItemFlintAndSteel burning_soul = get("burning_soul");
public static final ItemBlock cactus = get("cactus");
public static final ItemReed cake = get("cake");
public static final ItemSmallBlock cake = get("cake");
public static final ItemMetalBlock calcium_block = get("calcium_block");
public static final ItemMetalBlock calcium_ore = get("calcium_ore");
public static final ItemMetal calcium_powder = get("calcium_powder");
@ -129,7 +129,7 @@ public abstract class Items {
public static final ItemCloth carpet = get("carpet");
public static final ItemSeedFood carrot = get("carrot");
public static final ItemCarrotOnAStick carrot_on_a_stick = get("carrot_on_a_stick");
public static final ItemReed cauldron = get("cauldron");
public static final ItemSmallBlock cauldron = get("cauldron");
public static final ItemBlock cell_rock = get("cell_rock");
public static final ItemMagnetic chain = get("chain");
public static final ItemArmor chain_boots = get("chain_boots");
@ -173,7 +173,7 @@ public abstract class Items {
public static final ItemSlab cobblestone_slab = get("cobblestone_slab");
public static final ItemBlock cobblestone_stairs = get("cobblestone_stairs");
public static final ItemWall cobblestone_wall = get("cobblestone_wall");
public static final ItemReed comparator = get("comparator");
public static final ItemSmallBlock comparator = get("comparator");
public static final ItemBlock construction_table = get("construction_table");
public static final ItemFood cooked_beef = get("cooked_beef");
public static final ItemFood cooked_chicken = get("cooked_chicken");
@ -243,7 +243,7 @@ public abstract class Items {
public static final ItemBlock floor_tiles_red = get("floor_tiles_red");
public static final ItemBlock floor_tiles_white = get("floor_tiles_white");
public static final ItemMultiTexture flower = get("flower");
public static final ItemReed flower_pot = get("flower_pot");
public static final ItemSmallBlock flower_pot = get("flower_pot");
public static final ItemBlock furnace = get("furnace");
public static final ItemTiny ghast_tear = get("ghast_tear");
public static final Item ghi_fragment = get("ghi_fragment");
@ -483,8 +483,8 @@ public abstract class Items {
public static final ItemBlock redstone_lamp = get("redstone_lamp");
public static final ItemBlock redstone_ore = get("redstone_ore");
public static final ItemBlock redstone_torch = get("redstone_torch");
public static final ItemReed reeds = get("reeds");
public static final ItemReed repeater = get("repeater");
public static final ItemSmallBlock reeds = get("reeds");
public static final ItemSmallBlock repeater = get("repeater");
public static final ItemMultiTexture rock = get("rock");
public static final ItemFood rotten_flesh = get("rotten_flesh");
public static final Item ruby = get("ruby");
@ -505,7 +505,7 @@ public abstract class Items {
public static final ItemMetalBlock silver_block = get("silver_block");
public static final ItemMetal silver_ingot = get("silver_ingot");
public static final ItemMetalBlock silver_ore = get("silver_ore");
public static final ItemSkull skull = get("skull");
public static final ItemSmallBlock skull = get("skull");
public static final Item slime_ball = get("slime_ball");
public static final ItemBlock slime_block = get("slime_block");
public static final ItemBucket slime_bucket = get("slime_bucket");
@ -547,7 +547,7 @@ public abstract class Items {
public static final ItemMultiTexture stonebrick = get("stonebrick");
public static final ItemSlab stonebrick_slab = get("stonebrick_slab");
public static final ItemBlock stonebrick_stairs = get("stonebrick_stairs");
public static final ItemReed string = get("string");
public static final ItemSmallBlock string = get("string");
public static final Item sugar = get("sugar");
public static final ItemMetalBlock sulfur_block = get("sulfur_block");
public static final ItemMetalBlock sulfur_ore = get("sulfur_ore");

View file

@ -18,7 +18,6 @@ import common.tileentity.TileEntityHopper;
import common.tileentity.TileEntityMobSpawner;
import common.tileentity.TileEntityPiston;
import common.tileentity.TileEntitySign;
import common.tileentity.TileEntitySkull;
import common.tileentity.TileEntityTianReactor;
public abstract class TileRegistry {
@ -47,7 +46,6 @@ public abstract class TileRegistry {
addMapping(TileEntityBrewingStand.class, "Cauldron");
addMapping(TileEntityEnchantmentTable.class, "EnchantTable");
addMapping(TileEntityBeacon.class, "Beacon");
addMapping(TileEntitySkull.class, "Skull");
addMapping(TileEntityDaylightDetector.class, "DLDetector");
addMapping(TileEntityHopper.class, "Hopper");
addMapping(TileEntityComparator.class, "Comparator");

View file

@ -1,81 +0,0 @@
package common.item;
import common.block.Block;
import common.block.natural.BlockSnow;
import common.entity.Entity;
import common.entity.npc.EntityNPC;
import common.init.Blocks;
import common.util.BlockPos;
import common.util.Facing;
import common.world.State;
import common.world.World;
public class ItemReed extends Item
{
private Block block;
public ItemReed(Block block)
{
this.block = block;
}
public Block getBlock()
{
return this.block;
}
/**
* Called when a Block is right-clicked with this Item
*/
public boolean onItemUse(ItemStack stack, EntityNPC playerIn, World worldIn, BlockPos pos, Facing side, float hitX, float hitY, float hitZ)
{
State iblockstate = worldIn.getState(pos);
Block block = iblockstate.getBlock();
if (block == Blocks.snow_layer && ((Integer)iblockstate.getValue(BlockSnow.LAYERS)).intValue() < 1)
{
side = Facing.UP;
}
else if (!block.isReplaceable(worldIn, pos))
{
pos = pos.offset(side);
}
if (!playerIn.canPlayerEdit(pos, side, stack))
{
return false;
}
else if (stack.size == 0)
{
return false;
}
else
{
if (worldIn.canBlockBePlaced(this.block, pos, false, side, (Entity)null, stack))
{
State iblockstate1 = this.block.onBlockPlaced(worldIn, pos, side, hitX, hitY, hitZ, 0, playerIn);
if (worldIn.setState(pos, iblockstate1, 3))
{
iblockstate1 = worldIn.getState(pos);
if (iblockstate1.getBlock() == this.block)
{
ItemBlock.setTileEntityNBT(worldIn, playerIn, pos, stack);
iblockstate1.getBlock().onBlockPlacedBy(worldIn, pos, iblockstate1, playerIn, stack);
}
worldIn.playSound(this.block.sound.getPlaceSound(), (double)((float)pos.getX() + 0.5F), (double)((float)pos.getY() + 0.5F), (double)((float)pos.getZ() + 0.5F), 1.0F);
--stack.size;
return true;
}
}
return false;
}
}
public boolean isMagnetic() {
return this.block.isMagnetic();
}
}

View file

@ -1,188 +0,0 @@
package common.item;
import common.block.Block;
import common.block.tile.BlockSkull;
import common.entity.npc.EntityNPC;
import common.init.Blocks;
import common.model.Model;
import common.model.ModelProvider;
import common.model.Transforms;
import common.tileentity.TileEntity;
import common.tileentity.TileEntitySkull;
import common.util.BlockPos;
import common.util.ExtMath;
import common.util.Facing;
import common.world.State;
import common.world.World;
public class ItemSkull extends Item
{
public ItemSkull()
{
this.setTab(CheatTab.DECORATION);
// this.setMaxDamage(0);
// this.setHasSubtypes(true);
}
public Block getBlock()
{
return Blocks.skull;
}
/**
* Called when a Block is right-clicked with this Item
*/
public boolean onItemUse(ItemStack stack, EntityNPC playerIn, World worldIn, BlockPos pos, Facing side, float hitX, float hitY, float hitZ)
{
if (side == Facing.DOWN)
{
return false;
}
else
{
State iblockstate = worldIn.getState(pos);
Block block = iblockstate.getBlock();
boolean flag = block.isReplaceable(worldIn, pos);
if (!flag)
{
if (!worldIn.getState(pos).getBlock().getMaterial().isSolid())
{
return false;
}
pos = pos.offset(side);
}
if (!playerIn.canPlayerEdit(pos, side, stack))
{
return false;
}
else if (!Blocks.skull.canPlaceBlockAt(worldIn, pos))
{
return false;
}
else
{
if (!worldIn.client)
{
worldIn.setState(pos, Blocks.skull.getState().withProperty(BlockSkull.FACING, side), 3);
int i = 0;
if (side == Facing.UP)
{
i = ExtMath.floord((double)(playerIn.rotYaw * 16.0F / 360.0F) + 0.5D) & 15;
}
TileEntity tileentity = worldIn.getTileEntity(pos);
if (tileentity instanceof TileEntitySkull)
{
TileEntitySkull tileentityskull = (TileEntitySkull)tileentity;
// if (stack.getMetadata() == 3)
// {
// String user = null;
//
// if (stack.hasTagCompound())
// {
// NBTTagCompound nbttagcompound = stack.getTagCompound();
//
// if (nbttagcompound.hasString("SkullOwner") && nbttagcompound.getString("SkullOwner").length() > 0)
// {
// user = nbttagcompound.getString("SkullOwner");
// }
// }
//
// tileentityskull.setUser(user);
// }
// else
// {
// tileentityskull.setType(stack.getMetadata());
// }
tileentityskull.setSkullRotation(i);
// Blocks.skull.checkWitherSpawn(worldIn, pos, tileentityskull);
}
--stack.size;
}
return true;
}
}
}
// /**
// * returns a list of items with the same ID, but different meta (eg: dye returns 16 items)
// */
// public void getSubItems(Item itemIn, CreativeTabs tab, List<ItemStack> subItems)
// {
// for (int i = 0; i < skullTypes.length; ++i)
// {
// subItems.add(new ItemStack(itemIn, 1, i));
// }
// }
// /**
// * Converts the given ItemStack damage value into a metadata value to be placed in the world when this Item is
// * placed as a Block (mostly used with ItemBlocks).
// */
// public int getMetadata(int damage)
// {
// return damage;
// }
// /**
// * Returns the unlocalized name of this item. This version accepts an ItemStack so different stacks can have
// * different names based on their damage or NBT.
// */
// public String getUnlocalizedName(ItemStack stack)
// {
// int i = stack.getMetadata();
//
// if (i < 0 || i >= skullTypes.length)
// {
// i = 0;
// }
//
// return super.getUnlocalizedName() + "." + skullTypes[i];
// }
// public String getDisplay(ItemStack stack)
// {
// if (stack.hasTagCompound())
// {
// if (stack.getTagCompound().hasString("SkullOwner"))
// {
// return super.getDisplay(stack) + " von " + stack.getTagCompound().getString("SkullOwner");
// }
// }
//
// return super.getDisplay(stack);
// }
// public Set<String> getValidTags() {
// return Sets.newHashSet("SkullOwner");
// }
//
// protected boolean validateNbt(NBTTagCompound tag) {
// if(tag.hasKey("SkullOwner")) {
//// if(!adv) {
//// return false;
//// }
// if(!tag.hasString("SkullOwner")) {
// return false;
// }
// }
// return true;
// }
public Transforms getTransform() {
return Transforms.SKULL;
}
public Model getModel(ModelProvider provider, String name, int meta) {
return provider.getModel(provider.getEntityModel(), this.getTransform());
}
}

View file

@ -0,0 +1,57 @@
package common.item;
import common.block.Block;
import common.block.natural.BlockSnow;
import common.entity.npc.EntityNPC;
import common.init.Blocks;
import common.util.BlockPos;
import common.util.Facing;
import common.world.State;
import common.world.World;
public class ItemSmallBlock extends Item {
private Block block;
public ItemSmallBlock(Block block) {
this.block = block;
}
public Block getBlock() {
return this.block;
}
public boolean onItemUse(ItemStack stack, EntityNPC player, World world, BlockPos pos, Facing side, float hitX, float hitY, float hitZ) {
State state = world.getState(pos);
Block block = state.getBlock();
if(block == Blocks.snow_layer && state.getValue(BlockSnow.LAYERS).intValue() < 1)
side = Facing.UP;
else if(!block.isReplaceable(world, pos))
pos = pos.offset(side);
if(!player.canPlayerEdit(pos, side, stack) || stack.size == 0)
return false;
if(world.canBlockBePlaced(this.block, pos, false, side, null, stack)) {
State newState = this.block.onBlockPlaced(world, pos, side, hitX, hitY, hitZ, 0, player);
if(world.setState(pos, newState, 3)) {
newState = world.getState(pos);
if(newState.getBlock() == this.block) {
ItemBlock.setTileEntityNBT(world, player, pos, stack);
newState.getBlock().onBlockPlacedBy(world, pos, newState, player, stack);
}
world.playSound(this.block.sound.getPlaceSound(), (double)((float)pos.getX() + 0.5F), (double)((float)pos.getY() + 0.5F),
(double)((float)pos.getZ() + 0.5F), 1.0F);
--stack.size;
return true;
}
}
return false;
}
public boolean isMagnetic() {
return this.block.isMagnetic();
}
}

View file

@ -1,61 +0,0 @@
package common.tileentity;
import common.network.Packet;
import common.packet.SPacketUpdateTileEntity;
import common.tags.TagObject;
public class TileEntitySkull extends TileEntity
{
private int skullRotation;
// private String user = null;
public void writeTags(TagObject compound)
{
super.writeTags(compound);
compound.setByte("Rot", (byte)(this.skullRotation & 255));
// if(this.user != null)
// compound.setString("Owner", this.user);
}
public void readTags(TagObject compound)
{
super.readTags(compound);
this.skullRotation = compound.getByte("Rot");
// if(compound.hasString("Owner"))
// this.user = compound.getString("Owner");
}
// public String getUser()
// {
// return this.user;
// }
/**
* Allows for a specialized description packet to be created. This is often used to sync tile entity data from the
* server to the client easily. For example this is used by signs to synchronise the text to be displayed.
*/
public Packet getDescriptionPacket()
{
return new SPacketUpdateTileEntity(this);
}
// public void setUser(String user)
// {
// this.user = user;
// this.markDirty();
// }
public int getSkullRotation()
{
return this.skullRotation;
}
public void setSkullRotation(int rotation)
{
this.skullRotation = rotation;
}
public int getColor() {
return 0x00ff00;
}
}