block cleanup #6

This commit is contained in:
Sen 2025-06-21 14:04:15 +02:00
parent 9a6abe495c
commit 7b25e6181e
Signed by: sen
GPG key ID: 3AC50A6F47D1B722
27 changed files with 263 additions and 214 deletions

View file

@ -31,8 +31,8 @@ public class EntityAITakePlace extends EntityAIBase
} }
static { static {
for(BlockFlower.EnumFlowerType type : BlockFlower.EnumFlowerType.values()) { for(BlockFlower block : BlockFlower.FLOWERS) {
addPlaceable(BlockFlower.getByType(type)); addPlaceable(block);
} }
addPlaceable(Blocks.brown_mushroom); addPlaceable(Blocks.brown_mushroom);
addPlaceable(Blocks.red_mushroom); addPlaceable(Blocks.red_mushroom);

View file

@ -15,7 +15,13 @@ import common.world.World;
public class BlockCarpet extends Block public class BlockCarpet extends Block
{ {
public static final BlockCarpet[] CARPETS = new BlockCarpet[DyeColor.values().length];
private final DyeColor color; private final DyeColor color;
public static BlockCarpet getByColor(DyeColor color) {
return CARPETS[color.getMetadata()];
}
public BlockCarpet(DyeColor color) public BlockCarpet(DyeColor color)
{ {
@ -23,7 +29,8 @@ public class BlockCarpet extends Block
this.color = color; this.color = color;
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.0625F, 1.0F); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.0625F, 1.0F);
this.setTab(CheatTab.DECORATION); this.setTab(CheatTab.DECORATION);
this.setBlockBoundsFromMeta(0); this.setBlockBoundsFromMeta();
CARPETS[color.ordinal()] = this;
} }
public DyeColor getColor() { public DyeColor getColor() {
@ -48,15 +55,15 @@ public class BlockCarpet extends Block
*/ */
public void setBlockBoundsForItemRender() public void setBlockBoundsForItemRender()
{ {
this.setBlockBoundsFromMeta(0); this.setBlockBoundsFromMeta();
} }
public void setBlockBoundsBasedOnState(IWorldAccess worldIn, BlockPos pos) public void setBlockBoundsBasedOnState(IWorldAccess worldIn, BlockPos pos)
{ {
this.setBlockBoundsFromMeta(0); this.setBlockBoundsFromMeta();
} }
protected void setBlockBoundsFromMeta(int meta) private void setBlockBoundsFromMeta()
{ {
int i = 0; int i = 0;
float f = (float)(1 * (1 + i)) / 16.0F; float f = (float)(1 * (1 + i)) / 16.0F;

View file

@ -1,8 +1,11 @@
package common.block.artificial; package common.block.artificial;
import java.util.List;
import common.block.Block; import common.block.Block;
import common.block.Material; import common.block.Material;
import common.block.foliage.BlockFlower; import common.block.foliage.BlockFlower;
import common.collect.Lists;
import common.entity.npc.EntityNPC; import common.entity.npc.EntityNPC;
import common.init.BlockRegistry; import common.init.BlockRegistry;
import common.init.Blocks; import common.init.Blocks;
@ -98,6 +101,8 @@ public class BlockFlowerPot extends Block
.u("dirt").uv(6, 6, 10, 10).noCull() .u("dirt").uv(6, 6, 10, 10).noCull()
; ;
public static final List<BlockFlowerPot> POTS = Lists.newArrayList();
private final Block content; private final Block content;
public BlockFlowerPot(Block content) public BlockFlowerPot(Block content)
@ -105,6 +110,7 @@ public class BlockFlowerPot extends Block
super(Material.SMALL); super(Material.SMALL);
this.content = content; this.content = content;
this.setBlockBoundsForItemRender(); this.setBlockBoundsForItemRender();
POTS.add(this);
} }
/** /**

View file

@ -7,10 +7,17 @@ import common.model.ModelProvider;
import common.world.State; import common.world.State;
public class BlockStainedGlass extends BlockGlass { public class BlockStainedGlass extends BlockGlass {
public static final BlockStainedGlass[] GLASS = new BlockStainedGlass[DyeColor.values().length];
private final DyeColor color; private final DyeColor color;
public static BlockStainedGlass getByColor(DyeColor color) {
return GLASS[color.getMetadata()];
}
public BlockStainedGlass(DyeColor color) { public BlockStainedGlass(DyeColor color) {
this.color = color; this.color = color;
GLASS[color.ordinal()] = this;
} }
public DyeColor getColor() { public DyeColor getColor() {

View file

@ -9,7 +9,13 @@ import common.world.State;
public class BlockStainedGlassPane extends BlockPane public class BlockStainedGlassPane extends BlockPane
{ {
public static final BlockStainedGlassPane[] PANES = new BlockStainedGlassPane[DyeColor.values().length];
private final DyeColor color; private final DyeColor color;
public static BlockStainedGlassPane getByColor(DyeColor color) {
return PANES[color.getMetadata()];
}
public BlockStainedGlassPane(DyeColor color) public BlockStainedGlassPane(DyeColor color)
{ {
@ -17,6 +23,7 @@ public class BlockStainedGlassPane extends BlockPane
this.color = color; this.color = color;
this.setDefaultState(this.getBaseState().withProperty(NORTH, Boolean.valueOf(false)).withProperty(EAST, Boolean.valueOf(false)).withProperty(SOUTH, Boolean.valueOf(false)).withProperty(WEST, Boolean.valueOf(false))); this.setDefaultState(this.getBaseState().withProperty(NORTH, Boolean.valueOf(false)).withProperty(EAST, Boolean.valueOf(false)).withProperty(SOUTH, Boolean.valueOf(false)).withProperty(WEST, Boolean.valueOf(false)));
this.setTab(CheatTab.BLOCKS); this.setTab(CheatTab.BLOCKS);
PANES[color.ordinal()] = this;
} }
public DyeColor getColor() { public DyeColor getColor() {

View file

@ -9,12 +9,19 @@ import common.model.ModelProvider;
import common.world.State; import common.world.State;
public class BlockWool extends Block { public class BlockWool extends Block {
public static final BlockWool[] WOOLS = new BlockWool[DyeColor.values().length];
private final DyeColor color; private final DyeColor color;
public static BlockWool getByColor(DyeColor color) {
return WOOLS[color.getMetadata()];
}
public BlockWool(DyeColor color) { public BlockWool(DyeColor color) {
super(Material.BURNABLE); super(Material.BURNABLE);
this.color = color; this.color = color;
this.setTab(CheatTab.BLOCKS); this.setTab(CheatTab.BLOCKS);
WOOLS[color.ordinal()] = this;
} }
public DyeColor getColor() { public DyeColor getColor() {

View file

@ -6,6 +6,7 @@ import common.block.Block;
import common.block.Rotatable; import common.block.Rotatable;
import common.block.Material; import common.block.Material;
import common.block.SoundType; import common.block.SoundType;
import common.collect.Lists;
import common.color.Colorizer; import common.color.Colorizer;
import common.entity.npc.EntityNPC; import common.entity.npc.EntityNPC;
import common.entity.types.EntityLiving; import common.entity.types.EntityLiving;
@ -35,6 +36,7 @@ import common.world.AWorldServer;
public class BlockDoublePlant extends BlockBush implements Rotatable, IGrowable public class BlockDoublePlant extends BlockBush implements Rotatable, IGrowable
{ {
public static final PropertyEnum<BlockDoublePlant.EnumBlockHalf> HALF = PropertyEnum.<BlockDoublePlant.EnumBlockHalf>create("half", BlockDoublePlant.EnumBlockHalf.class); public static final PropertyEnum<BlockDoublePlant.EnumBlockHalf> HALF = PropertyEnum.<BlockDoublePlant.EnumBlockHalf>create("half", BlockDoublePlant.EnumBlockHalf.class);
public static final BlockDoublePlant[] PLANTS = new BlockDoublePlant[EnumPlantType.values().length];
private final EnumPlantType type; private final EnumPlantType type;
@ -45,6 +47,7 @@ public class BlockDoublePlant extends BlockBush implements Rotatable, IGrowable
this.setDefaultState(this.getBaseState().withProperty(HALF, BlockDoublePlant.EnumBlockHalf.LOWER).withProperty(FACING, Facing.NORTH)); this.setDefaultState(this.getBaseState().withProperty(HALF, BlockDoublePlant.EnumBlockHalf.LOWER).withProperty(FACING, Facing.NORTH));
this.setHardness(0.0F); this.setHardness(0.0F);
this.setStepSound(SoundType.GRASS); this.setStepSound(SoundType.GRASS);
PLANTS[type.ordinal()] = this;
} }
public EnumPlantType getType() { public EnumPlantType getType() {

View file

@ -23,7 +23,7 @@ import common.world.AWorldServer;
public abstract class BlockFlower extends BlockBush public abstract class BlockFlower extends BlockBush
{ {
private static final BlockFlower[] FLOWERS = new BlockFlower[EnumFlowerType.values().length]; public static final BlockFlower[] FLOWERS = new BlockFlower[EnumFlowerType.values().length];
private final EnumFlowerType type; private final EnumFlowerType type;

View file

@ -3,6 +3,7 @@ package common.block.foliage;
import java.util.List; import java.util.List;
import common.block.Material; import common.block.Material;
import common.collect.Lists;
import common.color.Colorizer; import common.color.Colorizer;
import common.entity.npc.EntityNPC; import common.entity.npc.EntityNPC;
import common.init.Blocks; import common.init.Blocks;
@ -27,6 +28,8 @@ import common.world.AWorldServer;
public class BlockTallGrass extends BlockBush implements IGrowable public class BlockTallGrass extends BlockBush implements IGrowable
{ {
public static final BlockTallGrass[] BUSHES = new BlockTallGrass[EnumType.values().length];
private final EnumType type; private final EnumType type;
public BlockTallGrass(EnumType type) public BlockTallGrass(EnumType type)
@ -35,6 +38,7 @@ public class BlockTallGrass extends BlockBush implements IGrowable
this.type = type; this.type = type;
float f = 0.4F; float f = 0.4F;
this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.8F, 0.5F + f); this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.8F, 0.5F + f);
BUSHES[type.ordinal()] = this;
} }
public EnumType getType() { public EnumType getType() {

View file

@ -9,12 +9,19 @@ import common.model.ModelProvider;
import common.world.State; import common.world.State;
public class BlockColoredClay extends Block { public class BlockColoredClay extends Block {
public static final BlockColoredClay[] CLAY = new BlockColoredClay[DyeColor.values().length];
private final DyeColor color; private final DyeColor color;
public static BlockColoredClay getByColor(DyeColor color) {
return CLAY[color.getMetadata()];
}
public BlockColoredClay(DyeColor color) { public BlockColoredClay(DyeColor color) {
super(Material.SOLID); super(Material.SOLID);
this.color = color; this.color = color;
this.setTab(CheatTab.NATURE); this.setTab(CheatTab.NATURE);
CLAY[color.ordinal()] = this;
} }
public DyeColor getColor() { public DyeColor getColor() {

View file

@ -25,6 +25,7 @@ import common.world.AWorldServer;
public class BlockTNT extends Block public class BlockTNT extends Block
{ {
public static final PropertyBool EXPLODE = PropertyBool.create("explode"); public static final PropertyBool EXPLODE = PropertyBool.create("explode");
public static final BlockTNT[] TNTS = new BlockTNT[8];
private final int power; private final int power;
@ -34,6 +35,7 @@ public class BlockTNT extends Block
this.power = power; this.power = power;
this.setDefaultState(this.getBaseState().withProperty(EXPLODE, Boolean.valueOf(false))); this.setDefaultState(this.getBaseState().withProperty(EXPLODE, Boolean.valueOf(false)));
this.setTab(CheatTab.TECHNOLOGY); this.setTab(CheatTab.TECHNOLOGY);
TNTS[power] = this;
} }
public int getExplosionPower() { public int getExplosionPower() {

View file

@ -23,6 +23,7 @@ import common.entity.types.EntityTameable;
import common.init.Items; import common.init.Items;
import common.init.SoundEvent; import common.init.SoundEvent;
import common.item.Item; import common.item.Item;
import common.item.ItemFishFood;
import common.item.ItemStack; import common.item.ItemStack;
import common.pathfinding.PathNavigateGround; import common.pathfinding.PathNavigateGround;
import common.tags.TagObject; import common.tags.TagObject;
@ -46,7 +47,7 @@ public class EntityOcelot extends EntityTameable
((PathNavigateGround)this.getNavigator()).setAvoidsWater(true); ((PathNavigateGround)this.getNavigator()).setAvoidsWater(true);
this.tasks.addTask(1, new EntityAISwimming(this)); this.tasks.addTask(1, new EntityAISwimming(this));
this.tasks.addTask(2, this.aiSit); this.tasks.addTask(2, this.aiSit);
this.tasks.addTask(3, this.aiTempt = new EntityAITempt(this, 0.6D, Items.fish, true)); this.tasks.addTask(3, this.aiTempt = new EntityAITempt(this, 0.6D, stack -> stack.getItem() instanceof ItemFishFood fish && !fish.isCooked(), true));
this.tasks.addTask(5, new EntityAIFollowOwner(this, 1.0D, 10.0F, 5.0F)); this.tasks.addTask(5, new EntityAIFollowOwner(this, 1.0D, 10.0F, 5.0F));
this.tasks.addTask(6, new EntityAIOcelotSit(this, 0.8D)); this.tasks.addTask(6, new EntityAIOcelotSit(this, 0.8D));
this.tasks.addTask(7, new EntityAILeapAtTarget(this, 0.3F)); this.tasks.addTask(7, new EntityAILeapAtTarget(this, 0.3F));
@ -222,7 +223,7 @@ public class EntityOcelot extends EntityTameable
this.aiSit.setSitting(!this.isSitting()); this.aiSit.setSitting(!this.isSitting());
} }
} }
else if (this.aiTempt.isRunning() && itemstack != null && itemstack.getItem() == Items.fish && player.getDistanceSqToEntity(this) < 9.0D) else if (this.aiTempt.isRunning() && itemstack != null && itemstack.getItem() instanceof ItemFishFood fish && !fish.isCooked() && player.getDistanceSqToEntity(this) < 9.0D)
{ {
// if (!player.creative) // if (!player.creative)
// { // {
@ -278,7 +279,7 @@ public class EntityOcelot extends EntityTameable
*/ */
public boolean isBreedingItem(ItemStack stack) public boolean isBreedingItem(ItemStack stack)
{ {
return stack != null && stack.getItem() == Items.fish; return stack != null && stack.getItem() instanceof ItemFishFood fish && !fish.isCooked();
} }
/** /**

View file

@ -63,12 +63,7 @@ public class EntityRabbit extends EntityAnimal {
this.navigator.setHeightRequirement(2.5F); this.navigator.setHeightRequirement(2.5F);
this.tasks.addTask(1, new EntityAISwimming(this)); this.tasks.addTask(1, new EntityAISwimming(this));
this.tasks.addTask(1, new EntityRabbit.AIPanic(this, 1.33D)); this.tasks.addTask(1, new EntityRabbit.AIPanic(this, 1.33D));
this.tasks.addTask(2, new EntityAITempt(this, 1.0D, new Predicate<ItemStack>() { this.tasks.addTask(2, new EntityAITempt(this, 1.0D, stack -> stack.getItem() == Items.carrot || stack.getItem() == Items.golden_carrot || stack.getItem().getBlock() instanceof BlockFlower, false));
public boolean test(ItemStack stack) {
Item item = stack.getItem();
return item == Items.carrot || item == Items.golden_carrot || item.getBlock() instanceof BlockFlower;
}
}, false));
this.tasks.addTask(3, new EntityAIMate(this, 0.8D) { this.tasks.addTask(3, new EntityAIMate(this, 0.8D) {
protected int getMatingCooldown() { protected int getMatingCooldown() {
return EntityRabbit.this.rand.excl(50, 200); return EntityRabbit.this.rand.excl(50, 200);

View file

@ -163,8 +163,7 @@ public abstract class Blocks {
public static final Block floor_tiles_black = get("floor_tiles_black"); public static final Block floor_tiles_black = get("floor_tiles_black");
public static final Block floor_tiles_red = get("floor_tiles_red"); public static final Block floor_tiles_red = get("floor_tiles_red");
public static final Block floor_tiles_white = get("floor_tiles_white"); public static final Block floor_tiles_white = get("floor_tiles_white");
public static final BlockBaseFlower flower = get("flower"); public static final BlockFlowerPot flowerpot = get("flowerpot");
public static final BlockFlowerPot flower_pot = get("flower_pot");
public static final BlockDynamicLiquid flowing_acid = get("flowing_acid"); public static final BlockDynamicLiquid flowing_acid = get("flowing_acid");
public static final BlockDynamicLiquid flowing_blood = get("flowing_blood"); public static final BlockDynamicLiquid flowing_blood = get("flowing_blood");
public static final BlockDynamicLiquid flowing_goo = get("flowing_goo"); public static final BlockDynamicLiquid flowing_goo = get("flowing_goo");

View file

@ -8,11 +8,16 @@ import java.util.Set;
import common.block.Block; import common.block.Block;
import common.block.artificial.BlockBed; import common.block.artificial.BlockBed;
import common.block.artificial.BlockCarpet;
import common.block.artificial.BlockQuartz; import common.block.artificial.BlockQuartz;
import common.block.artificial.BlockStainedGlass;
import common.block.artificial.BlockStainedGlassPane;
import common.block.artificial.BlockStoneBrick; import common.block.artificial.BlockStoneBrick;
import common.block.artificial.BlockWall; import common.block.artificial.BlockWall;
import common.block.artificial.BlockWool;
import common.block.foliage.BlockDoublePlant; import common.block.foliage.BlockDoublePlant;
import common.block.foliage.BlockFlower; import common.block.foliage.BlockFlower;
import common.block.natural.BlockColoredClay;
import common.block.natural.BlockDirt; import common.block.natural.BlockDirt;
import common.block.natural.BlockSand; import common.block.natural.BlockSand;
import common.block.natural.BlockSandStone; import common.block.natural.BlockSandStone;
@ -23,6 +28,7 @@ import common.entity.animal.EntitySheep;
import common.inventory.InventoryCrafting; import common.inventory.InventoryCrafting;
import common.item.Item; import common.item.Item;
import common.item.ItemArmor; import common.item.ItemArmor;
import common.item.ItemBanner;
import common.item.ItemDye; import common.item.ItemDye;
import common.item.ItemStack; import common.item.ItemStack;
import common.tags.TagObject; import common.tags.TagObject;
@ -42,7 +48,7 @@ public abstract class CraftingRegistry
{Blocks.emerald_block, new ItemStack(Items.emerald, 9)}, {Blocks.emerald_block, new ItemStack(Items.emerald, 9)},
{Blocks.lapis_block, new ItemStack(Items.lapis_lazuli, 9)}, {Blocks.lapis_block, new ItemStack(Items.lapis_lazuli, 9)},
{Blocks.redstone_block, new ItemStack(Items.redstone, 9)}, {Blocks.redstone_block, new ItemStack(Items.redstone, 9)},
{Blocks.coal_block, new ItemStack(Items.coal, 9, 0)}, {Blocks.coal_block, new ItemStack(Items.coal, 9)},
{Blocks.hay_block, new ItemStack(Items.wheats, 9)}, {Blocks.hay_block, new ItemStack(Items.wheats, 9)},
{Blocks.slime_block, new ItemStack(Items.slime_ball, 9)} {Blocks.slime_block, new ItemStack(Items.slime_ball, 9)}
}; };
@ -143,7 +149,7 @@ public abstract class CraftingRegistry
add(new ItemStack(Items.gold_nugget, 9), "#", '#', Items.gold_ingot); add(new ItemStack(Items.gold_nugget, 9), "#", '#', Items.gold_ingot);
addShapeless(new ItemStack(Items.mushroom_stew), Blocks.brown_mushroom, Blocks.red_mushroom, Items.bowl); addShapeless(new ItemStack(Items.mushroom_stew), Blocks.brown_mushroom, Blocks.red_mushroom, Items.bowl);
add(new ItemStack(Items.cookie, 8), "#X#", 'X', new ItemStack(Items.dye, 1, DyeColor.BROWN.getDyeDamage()), '#', Items.wheats); add(new ItemStack(Items.cookie, 8), "#X#", 'X', Items.cocoa, '#', Items.wheats);
add(new ItemStack(Blocks.melon_block), "MMM", "MMM", "MMM", 'M', Items.melon); add(new ItemStack(Blocks.melon_block), "MMM", "MMM", "MMM", 'M', Items.melon);
add(new ItemStack(Items.melon_stem), "M", 'M', Items.melon); add(new ItemStack(Items.melon_stem), "M", 'M', Items.melon);
add(new ItemStack(Items.pumpkin_stem, 4), "M", 'M', Blocks.pumpkin); add(new ItemStack(Items.pumpkin_stem, 4), "M", 'M', Blocks.pumpkin);
@ -155,70 +161,72 @@ public abstract class CraftingRegistry
add(new ItemStack(Blocks.trapped_chest), "#-", '#', Blocks.chest, '-', Blocks.tripwire_hook); add(new ItemStack(Blocks.trapped_chest), "#-", '#', Blocks.chest, '-', Blocks.tripwire_hook);
add(new ItemStack(Blocks.warp_chest), "###", "#E#", "###", '#', Blocks.obsidian, 'E', Items.charged_orb); add(new ItemStack(Blocks.warp_chest), "###", "#E#", "###", '#', Blocks.obsidian, 'E', Items.charged_orb);
add(new ItemStack(Blocks.furnace), "###", "# #", "###", '#', Blocks.cobblestone); add(new ItemStack(Blocks.furnace), "###", "# #", "###", '#', Blocks.cobblestone);
add(new ItemStack(Blocks.sandstone), "##", "##", '#', new ItemStack(Blocks.sand, 1, BlockSand.EnumType.SAND.getMetadata())); add(new ItemStack(Blocks.sandstone), "##", "##", '#', Blocks.sand);
add(new ItemStack(Blocks.sandstone, 4, BlockSandStone.EnumType.SMOOTH.getMetadata()), "##", "##", '#', new ItemStack(Blocks.sandstone, 1, BlockSandStone.EnumType.DEFAULT.getMetadata())); add(new ItemStack(Blocks.sandstone_smooth, 4), "##", "##", '#', Blocks.sandstone);
add(new ItemStack(Blocks.quartz_block, 2, BlockQuartz.EnumType.LINES_Y.getMetadata()), "#", "#", '#', new ItemStack(Blocks.quartz_block, 1, BlockQuartz.EnumType.DEFAULT.getMetadata())); add(new ItemStack(Blocks.quartz_block_y, 2), "#", "#", '#', Blocks.quartz_block);
add(new ItemStack(Blocks.stonebrick, 4), "##", "##", '#', Blocks.stone); add(new ItemStack(Blocks.stonebrick, 4), "##", "##", '#', Blocks.stone);
addShapeless(new ItemStack(Blocks.stonebrick, 1, BlockStoneBrick.MOSSY_META), Blocks.stonebrick, Blocks.vine); addShapeless(new ItemStack(Blocks.stonebrick_mossy), Blocks.stonebrick, Blocks.vine);
addShapeless(new ItemStack(Blocks.mossy_cobblestone, 1), Blocks.cobblestone, Blocks.vine); addShapeless(new ItemStack(Blocks.mossy_cobblestone, 1), Blocks.cobblestone, Blocks.vine);
add(new ItemStack(Blocks.iron_bars, 16), "###", "###", '#', Items.iron_ingot); add(new ItemStack(Blocks.iron_bars, 16), "###", "###", '#', Items.iron_ingot);
add(new ItemStack(Blocks.glass_pane, 16), "###", "###", '#', Blocks.glass); add(new ItemStack(Blocks.glass_pane, 16), "###", "###", '#', Blocks.glass);
add(new ItemStack(Blocks.redstone_lamp, 1), " R ", "RGR", " R ", 'R', Items.redstone, 'G', Blocks.glowstone); add(new ItemStack(Blocks.redstone_lamp, 1), " R ", "RGR", " R ", 'R', Items.redstone, 'G', Blocks.glowstone);
add(new ItemStack(Blocks.beacon, 1), "GGG", "GSG", "OOO", 'G', Blocks.glass, 'S', Items.charge_crystal, 'O', Blocks.obsidian); add(new ItemStack(Blocks.beacon, 1), "GGG", "GSG", "OOO", 'G', Blocks.glass, 'S', Items.charge_crystal, 'O', Blocks.obsidian);
add(new ItemStack(Blocks.blood_brick, 1), "NN", "NN", 'N', Items.bloodbrick); add(new ItemStack(Blocks.blood_brick, 1), "NN", "NN", 'N', Items.bloodbrick);
add(new ItemStack(Blocks.dirt, 4, BlockDirt.DirtType.COARSE_DIRT.getMetadata()), "DG", "GD", 'D', new ItemStack(Blocks.dirt, 1, BlockDirt.DirtType.DIRT.getMetadata()), 'G', Blocks.gravel); add(new ItemStack(Blocks.coarse_dirt, 4), "DG", "GD", 'D', Blocks.dirt, 'G', Blocks.gravel);
add(new ItemStack(Blocks.lamp, 1), " R ", "RGR", " R ", 'R', Blocks.glass, 'G', Blocks.glowstone); add(new ItemStack(Blocks.lamp, 1), " R ", "RGR", " R ", 'R', Blocks.glass, 'G', Blocks.glowstone);
for (int i = 0; i < 16; ++i) for (DyeColor color : DyeColor.values())
{ {
addShapeless(new ItemStack(Blocks.wool, 1, i), new ItemStack(Items.dye, 1, 15 - i), new ItemStack(Blocks.wool, 1, 0)); ItemDye dye = ItemDye.getByColor(color);
add(new ItemStack(Blocks.stained_hardened_clay, 8, 15 - i), "###", "#X#", "###", '#', new ItemStack(Blocks.hardened_clay), 'X', new ItemStack(Items.dye, 1, i)); if(color != DyeColor.WHITE)
add(new ItemStack(Blocks.stained_glass, 8, 15 - i), "###", "#X#", "###", '#', new ItemStack(Blocks.glass), 'X', new ItemStack(Items.dye, 1, i)); addShapeless(new ItemStack(BlockWool.getByColor(color)), dye, Blocks.white_wool);
add(new ItemStack(Blocks.stained_glass_pane, 16, i), "###", "###", '#', new ItemStack(Blocks.stained_glass, 1, i)); add(new ItemStack(BlockColoredClay.getByColor(color), 8), "###", "#X#", "###", '#', Blocks.hardened_clay, 'X', dye);
add(new ItemStack(BlockStainedGlass.getByColor(color), 8), "###", "#X#", "###", '#', Blocks.glass, 'X', dye);
add(new ItemStack(BlockStainedGlassPane.getByColor(color), 16), "###", "###", '#', BlockStainedGlass.getByColor(color));
} }
addShapeless(new ItemStack(Items.dye, 1, DyeColor.YELLOW.getDyeDamage()), new ItemStack(Blocks.flower, 1, BlockFlower.EnumFlowerType.DANDELION.getMeta())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.YELLOW)), Blocks.dandelion);
addShapeless(new ItemStack(Items.dye, 1, DyeColor.RED.getDyeDamage()), new ItemStack(Blocks.flower, 1, BlockFlower.EnumFlowerType.ROSE.getMeta())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.RED)), Blocks.rose);
addShapeless(new ItemStack(Items.dye, 1, DyeColor.RED.getDyeDamage()), new ItemStack(Blocks.flower, 1, BlockFlower.EnumFlowerType.POPPY.getMeta())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.RED)), Blocks.poppy);
addShapeless(new ItemStack(Items.dye, 3, DyeColor.WHITE.getDyeDamage()), Items.bone); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.WHITE), 3), Items.bone);
addShapeless(new ItemStack(Items.dye, 2, DyeColor.PINK.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.RED.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.WHITE.getDyeDamage())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.PINK), 2), new ItemStack(ItemDye.getByColor(DyeColor.RED)), new ItemStack(ItemDye.getByColor(DyeColor.WHITE)));
addShapeless(new ItemStack(Items.dye, 2, DyeColor.ORANGE.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.RED.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.YELLOW.getDyeDamage())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.ORANGE), 2), new ItemStack(ItemDye.getByColor(DyeColor.RED)), new ItemStack(ItemDye.getByColor(DyeColor.YELLOW)));
addShapeless(new ItemStack(Items.dye, 2, DyeColor.LIME.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.GREEN.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.WHITE.getDyeDamage())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.LIME), 2), new ItemStack(ItemDye.getByColor(DyeColor.GREEN)), new ItemStack(ItemDye.getByColor(DyeColor.WHITE)));
addShapeless(new ItemStack(Items.dye, 2, DyeColor.GRAY.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.BLACK.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.WHITE.getDyeDamage())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.GRAY), 2), new ItemStack(ItemDye.getByColor(DyeColor.BLACK)), new ItemStack(ItemDye.getByColor(DyeColor.WHITE)));
addShapeless(new ItemStack(Items.dye, 2, DyeColor.SILVER.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.GRAY.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.WHITE.getDyeDamage())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.SILVER), 2), new ItemStack(ItemDye.getByColor(DyeColor.GRAY)), new ItemStack(ItemDye.getByColor(DyeColor.WHITE)));
addShapeless(new ItemStack(Items.dye, 3, DyeColor.SILVER.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.BLACK.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.WHITE.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.WHITE.getDyeDamage())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.SILVER), 3), new ItemStack(ItemDye.getByColor(DyeColor.BLACK)), new ItemStack(ItemDye.getByColor(DyeColor.WHITE)), new ItemStack(ItemDye.getByColor(DyeColor.WHITE)));
addShapeless(new ItemStack(Items.dye, 2, DyeColor.LIGHT_BLUE.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.BLUE.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.WHITE.getDyeDamage())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.LIGHT_BLUE), 2), new ItemStack(ItemDye.getByColor(DyeColor.BLUE)), new ItemStack(ItemDye.getByColor(DyeColor.WHITE)));
addShapeless(new ItemStack(Items.dye, 2, DyeColor.CYAN.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.BLUE.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.GREEN.getDyeDamage())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.CYAN), 2), new ItemStack(ItemDye.getByColor(DyeColor.BLUE)), new ItemStack(ItemDye.getByColor(DyeColor.GREEN)));
addShapeless(new ItemStack(Items.dye, 2, DyeColor.PURPLE.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.BLUE.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.RED.getDyeDamage())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.PURPLE), 2), new ItemStack(ItemDye.getByColor(DyeColor.BLUE)), new ItemStack(ItemDye.getByColor(DyeColor.RED)));
addShapeless(new ItemStack(Items.dye, 2, DyeColor.MAGENTA.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.PURPLE.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.PINK.getDyeDamage())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.MAGENTA), 2), new ItemStack(ItemDye.getByColor(DyeColor.PURPLE)), new ItemStack(ItemDye.getByColor(DyeColor.PINK)));
addShapeless(new ItemStack(Items.dye, 3, DyeColor.MAGENTA.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.BLUE.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.RED.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.PINK.getDyeDamage())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.MAGENTA), 3), new ItemStack(ItemDye.getByColor(DyeColor.BLUE)), new ItemStack(ItemDye.getByColor(DyeColor.RED)), new ItemStack(ItemDye.getByColor(DyeColor.PINK)));
addShapeless(new ItemStack(Items.dye, 4, DyeColor.MAGENTA.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.BLUE.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.RED.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.RED.getDyeDamage()), new ItemStack(Items.dye, 1, DyeColor.WHITE.getDyeDamage())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.MAGENTA), 4), new ItemStack(ItemDye.getByColor(DyeColor.BLUE)), new ItemStack(ItemDye.getByColor(DyeColor.RED)), new ItemStack(ItemDye.getByColor(DyeColor.RED)), new ItemStack(ItemDye.getByColor(DyeColor.WHITE)));
addShapeless(new ItemStack(Items.dye, 1, DyeColor.LIGHT_BLUE.getDyeDamage()), new ItemStack(Blocks.flower, 1, BlockFlower.EnumFlowerType.BLUE_ORCHID.getMeta())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.LIGHT_BLUE)), Blocks.blue_orchid);
addShapeless(new ItemStack(Items.dye, 1, DyeColor.MAGENTA.getDyeDamage()), new ItemStack(Blocks.flower, 1, BlockFlower.EnumFlowerType.ALLIUM.getMeta())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.MAGENTA)), Blocks.allium);
addShapeless(new ItemStack(Items.dye, 1, DyeColor.SILVER.getDyeDamage()), new ItemStack(Blocks.flower, 1, BlockFlower.EnumFlowerType.HOUSTONIA.getMeta())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.SILVER)), Blocks.houstonia);
addShapeless(new ItemStack(Items.dye, 1, DyeColor.RED.getDyeDamage()), new ItemStack(Blocks.flower, 1, BlockFlower.EnumFlowerType.RED_TULIP.getMeta())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.RED)), Blocks.red_tulip);
addShapeless(new ItemStack(Items.dye, 1, DyeColor.ORANGE.getDyeDamage()), new ItemStack(Blocks.flower, 1, BlockFlower.EnumFlowerType.ORANGE_TULIP.getMeta())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.ORANGE)), Blocks.orange_tulip);
addShapeless(new ItemStack(Items.dye, 1, DyeColor.SILVER.getDyeDamage()), new ItemStack(Blocks.flower, 1, BlockFlower.EnumFlowerType.WHITE_TULIP.getMeta())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.SILVER)), Blocks.white_tulip);
addShapeless(new ItemStack(Items.dye, 1, DyeColor.PINK.getDyeDamage()), new ItemStack(Blocks.flower, 1, BlockFlower.EnumFlowerType.PINK_TULIP.getMeta())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.PINK)), Blocks.pink_tulip);
addShapeless(new ItemStack(Items.dye, 1, DyeColor.SILVER.getDyeDamage()), new ItemStack(Blocks.flower, 1, BlockFlower.EnumFlowerType.OXEYE_DAISY.getMeta())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.SILVER)), Blocks.daisy);
addShapeless(new ItemStack(Items.dye, 2, DyeColor.YELLOW.getDyeDamage()), new ItemStack(Blocks.double_plant, 1, BlockDoublePlant.EnumPlantType.SUNFLOWER.getMeta())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.YELLOW), 2), Blocks.sunflower);
addShapeless(new ItemStack(Items.dye, 2, DyeColor.MAGENTA.getDyeDamage()), new ItemStack(Blocks.double_plant, 1, BlockDoublePlant.EnumPlantType.SYRINGA.getMeta())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.MAGENTA), 2), Blocks.syringa);
addShapeless(new ItemStack(Items.dye, 2, DyeColor.RED.getDyeDamage()), new ItemStack(Blocks.double_plant, 1, BlockDoublePlant.EnumPlantType.ROSE.getMeta())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.RED), 2), Blocks.rose_bush);
addShapeless(new ItemStack(Items.dye, 2, DyeColor.PINK.getDyeDamage()), new ItemStack(Blocks.double_plant, 1, BlockDoublePlant.EnumPlantType.PAEONIA.getMeta())); addShapeless(new ItemStack(ItemDye.getByColor(DyeColor.PINK), 2), Blocks.paeonia);
for (int j = 0; j < 16; ++j) for (DyeColor color : DyeColor.values())
{ {
add(new ItemStack(Blocks.carpet, 3, j), "##", '#', new ItemStack(Blocks.wool, 1, j)); add(new ItemStack(BlockCarpet.getByColor(color), 3), "##", '#', BlockWool.getByColor(color));
} }
recipes.add(new RecipesArmorDyes()); recipes.add(new RecipesArmorDyes());
recipes.add(new RecipeFireworks()); recipes.add(new RecipeFireworks());
recipes.add(new RecipeRepairItem()); recipes.add(new RecipeRepairItem());
for (DyeColor enumdyecolor : DyeColor.values()) for (DyeColor color : DyeColor.values())
{ {
add(new ItemStack(Items.banner, 1, enumdyecolor.getDyeDamage()), "###", "###", " | ", '#', new ItemStack(Blocks.wool, 1, enumdyecolor.getMetadata()), '|', Items.stick); add(ItemBanner.getColoredBanner(color), "###", "###", " | ", '#', BlockWool.getByColor(color), '|', Items.stick);
} }
recipes.add(new RecipeDuplicatePattern()); recipes.add(new RecipeDuplicatePattern());
@ -226,7 +234,7 @@ public abstract class CraftingRegistry
add(new ItemStack(Items.paper, 3), "###", '#', Items.reeds); add(new ItemStack(Items.paper, 3), "###", '#', Items.reeds);
addShapeless(new ItemStack(Items.book, 1), Items.paper, Items.paper, Items.paper, Items.leather); addShapeless(new ItemStack(Items.book, 1), Items.paper, Items.paper, Items.paper, Items.leather);
addShapeless(new ItemStack(Items.writable_book, 1), Items.book, new ItemStack(Items.dye, 1, DyeColor.BLACK.getDyeDamage()), Items.feather); addShapeless(new ItemStack(Items.writable_book, 1), Items.book, Items.ink_sack, Items.feather);
for(WoodType wood : WoodType.values()) { for(WoodType wood : WoodType.values()) {
Item planks = ItemRegistry.getRegisteredItem(wood.getName() + "_planks"); Item planks = ItemRegistry.getRegisteredItem(wood.getName() + "_planks");
add(new ItemStack(ItemRegistry.getRegisteredItem(wood.getName() + "_fence"), 3), "W#W", "W#W", '#', Items.stick, 'W', planks); add(new ItemStack(ItemRegistry.getRegisteredItem(wood.getName() + "_fence"), 3), "W#W", "W#W", '#', Items.stick, 'W', planks);
@ -234,7 +242,7 @@ public abstract class CraftingRegistry
add(new ItemStack(ItemRegistry.getRegisteredItem(wood.getName() + "_door"), 3), "##", "##", "##", '#', planks); add(new ItemStack(ItemRegistry.getRegisteredItem(wood.getName() + "_door"), 3), "##", "##", "##", '#', planks);
addBasic(new ItemStack(planks, 4), "#", '#', ItemRegistry.getRegisteredItem(wood.getName() + "_log")); addBasic(new ItemStack(planks, 4), "#", '#', ItemRegistry.getRegisteredItem(wood.getName() + "_log"));
Item slab = ItemRegistry.getRegisteredItem(wood.getName() + "_slab"); Item slab = ItemRegistry.getRegisteredItem(wood.getName() + "_slab");
add(new ItemStack(slab, 6, 0), "###", '#', planks); add(new ItemStack(slab, 6), "###", '#', planks);
add(new ItemStack(ItemRegistry.getRegisteredItem(wood.getName() + "_stairs"), 4), "# ", "## ", "###", '#', planks); add(new ItemStack(ItemRegistry.getRegisteredItem(wood.getName() + "_stairs"), 4), "# ", "## ", "###", '#', planks);
add(new ItemStack(Blocks.daylight_detector), "GGG", "QQQ", "WWW", 'G', Blocks.glass, 'Q', Items.quartz, 'W', slab); add(new ItemStack(Blocks.daylight_detector), "GGG", "QQQ", "WWW", 'G', Blocks.glass, 'Q', Items.quartz, 'W', slab);
@ -256,12 +264,12 @@ public abstract class CraftingRegistry
add(new ItemStack(Blocks.wooden_pressure_plate, 1), "##", '#', planks); add(new ItemStack(Blocks.wooden_pressure_plate, 1), "##", '#', planks);
add(new ItemStack(Blocks.piston, 1), "TTT", "#X#", "#R#", '#', Blocks.cobblestone, 'X', Items.iron_ingot, 'R', Items.redstone, 'T', planks); add(new ItemStack(Blocks.piston, 1), "TTT", "#X#", "#R#", '#', Blocks.cobblestone, 'X', Items.iron_ingot, 'R', Items.redstone, 'T', planks);
for(DyeColor color : BlockBed.COLORS) { for(DyeColor color : BlockBed.COLORS) {
add(new ItemStack(ItemRegistry.getRegisteredItem(color.getName() + "_bed"), 1), "###", "XXX", '#', new ItemStack(Blocks.wool, 1, color.getMetadata()), 'X', planks); add(new ItemStack(ItemRegistry.getRegisteredItem(color.getName() + "_bed"), 1), "###", "XXX", '#', BlockWool.getByColor(color), 'X', planks);
} }
} }
add(new ItemStack(Blocks.cobblestone_wall, 6, BlockWall.EnumType.NORMAL.getMetadata()), "###", "###", '#', Blocks.cobblestone); add(new ItemStack(Blocks.cobblestone_wall, 6), "###", "###", '#', Blocks.cobblestone);
add(new ItemStack(Blocks.cobblestone_wall, 6, BlockWall.EnumType.MOSSY.getMetadata()), "###", "###", '#', Blocks.mossy_cobblestone); add(new ItemStack(Blocks.mossy_cobblestone_wall, 6), "###", "###", '#', Blocks.mossy_cobblestone);
add(new ItemStack(Blocks.blood_brick_fence, 6), "###", "###", '#', Blocks.blood_brick); add(new ItemStack(Blocks.blood_brick_fence, 6), "###", "###", '#', Blocks.blood_brick);
add(new ItemStack(Items.lead, 2), "~~ ", "~O ", " ~", '~', Items.string, 'O', Items.slime_ball); add(new ItemStack(Items.lead, 2), "~~ ", "~O ", " ~", '~', Items.string, 'O', Items.slime_ball);
@ -274,14 +282,14 @@ public abstract class CraftingRegistry
add(new ItemStack(Blocks.wool, 1), "##", "##", '#', Items.string); add(new ItemStack(Blocks.wool, 1), "##", "##", '#', Items.string);
add(new ItemStack(Blocks.tnt, 1), "X#X", "#X#", "X#X", 'X', Items.gunpowder, '#', Blocks.sand); add(new ItemStack(Blocks.tnt, 1), "X#X", "#X#", "X#X", 'X', Items.gunpowder, '#', Blocks.sand);
add(new ItemStack(Blocks.tnt, 1, 1), "X#X", "#X#", "X#X", 'X', Items.gunpowder, '#', new ItemStack(Blocks.tnt, 1, 0)); add(new ItemStack(Blocks.tnt_1), "X#X", "#X#", "X#X", 'X', Items.gunpowder, '#', Blocks.tnt);
add(new ItemStack(Blocks.tnt, 1, 2), "##", "##", '#', new ItemStack(Blocks.tnt, 1, 1)); add(new ItemStack(Blocks.tnt_2), "##", "##", '#', Blocks.tnt_1);
addShapeless(new ItemStack(Blocks.tnt, 1, 3), new ItemStack(Blocks.tnt, 1, 2), new ItemStack(Blocks.tnt, 1, 2)); addShapeless(new ItemStack(Blocks.tnt_3), Blocks.tnt_2, Blocks.tnt_2);
addShapeless(new ItemStack(Blocks.tnt, 1, 4), new ItemStack(Blocks.tnt, 1, 3), new ItemStack(Blocks.tnt, 1, 3)); addShapeless(new ItemStack(Blocks.tnt_4), Blocks.tnt_3, Blocks.tnt_3);
addShapeless(new ItemStack(Blocks.tnt, 1, 5), new ItemStack(Blocks.tnt, 1, 4), new ItemStack(Blocks.tnt, 1, 4)); addShapeless(new ItemStack(Blocks.tnt_5), Blocks.tnt_4, Blocks.tnt_4);
addShapeless(new ItemStack(Blocks.tnt, 1, 6), new ItemStack(Blocks.tnt, 1, 5), new ItemStack(Blocks.tnt, 1, 5)); addShapeless(new ItemStack(Blocks.tnt_6), Blocks.tnt_5, Blocks.tnt_5);
addShapeless(new ItemStack(Blocks.tnt, 1, 7), new ItemStack(Blocks.tnt, 1, 6), new ItemStack(Blocks.tnt, 1, 6)); addShapeless(new ItemStack(Blocks.tnt_7), Blocks.tnt_6, Blocks.tnt_6);
add(new ItemStack(Blocks.nuke, 1), "###", "###", "###", '#', new ItemStack(Blocks.tnt, 1, 7)); add(new ItemStack(Blocks.nuke, 1), "###", "###", "###", '#', Blocks.tnt_7);
add(new ItemStack(Blocks.ladder, 3), "# #", "###", "# #", '#', Items.stick); add(new ItemStack(Blocks.ladder, 3), "# #", "###", "# #", '#', Items.stick);
@ -302,7 +310,7 @@ public abstract class CraftingRegistry
add(new ItemStack(Items.brewing_stand, 1), " B ", "###", '#', Blocks.cobblestone, 'B', Items.blaze_rod); add(new ItemStack(Items.brewing_stand, 1), " B ", "###", '#', Blocks.cobblestone, 'B', Items.blaze_rod);
add(new ItemStack(Blocks.lit_pumpkin, 1), "A", "B", 'A', Blocks.pumpkin, 'B', Blocks.torch); add(new ItemStack(Blocks.lit_pumpkin, 1), "A", "B", 'A', Blocks.pumpkin, 'B', Blocks.torch);
add(new ItemStack(Items.chest_minecart, 1), "A", "B", 'A', Blocks.chest, 'B', Items.minecart); add(new ItemStack(Items.chest_minecart, 1), "A", "B", 'A', Blocks.chest, 'B', Items.minecart);
add(new ItemStack(Items.tnt_minecart, 1), "A", "B", 'A', new ItemStack(Blocks.tnt, 1, 0), 'B', Items.minecart); add(new ItemStack(Items.tnt_minecart, 1), "A", "B", 'A', Blocks.tnt, 'B', Items.minecart);
add(new ItemStack(Items.hopper_minecart, 1), "A", "B", 'A', Blocks.hopper, 'B', Items.minecart); add(new ItemStack(Items.hopper_minecart, 1), "A", "B", 'A', Blocks.hopper, 'B', Items.minecart);
add(new ItemStack(Items.bucket, 1), "# #", " # ", '#', Items.iron_ingot); add(new ItemStack(Items.bucket, 1), "# #", " # ", '#', Items.iron_ingot);
add(new ItemStack(Items.flower_pot, 1), "# #", " # ", '#', Items.brick); add(new ItemStack(Items.flower_pot, 1), "# #", " # ", '#', Items.brick);
@ -317,9 +325,9 @@ public abstract class CraftingRegistry
add(new ItemStack(Blocks.blood_brick_stairs, 4), "# ", "## ", "###", '#', Blocks.blood_brick); add(new ItemStack(Blocks.blood_brick_stairs, 4), "# ", "## ", "###", '#', Blocks.blood_brick);
add(new ItemStack(Blocks.sandstone_stairs, 4), "# ", "## ", "###", '#', Blocks.sandstone); add(new ItemStack(Blocks.sandstone_stairs, 4), "# ", "## ", "###", '#', Blocks.sandstone);
add(new ItemStack(Blocks.quartz_stairs, 4), "# ", "## ", "###", '#', Blocks.quartz_block); add(new ItemStack(Blocks.quartz_stairs, 4), "# ", "## ", "###", '#', Blocks.quartz_block);
add(new ItemStack(Items.golden_apple, 1, 0), "###", "#X#", "###", '#', Items.gold_ingot, 'X', Items.apple); add(new ItemStack(Items.golden_apple, 1), "###", "#X#", "###", '#', Items.gold_ingot, 'X', Items.apple);
add(new ItemStack(Items.golden_apple, 1, 1), "###", "#X#", "###", '#', Blocks.gold_block, 'X', Items.apple); add(new ItemStack(Items.golden_apple_powered, 1), "###", "#X#", "###", '#', Blocks.gold_block, 'X', Items.apple);
add(new ItemStack(Items.golden_carrot, 1, 0), "###", "#X#", "###", '#', Items.gold_nugget, 'X', Items.carrot); add(new ItemStack(Items.golden_carrot, 1), "###", "#X#", "###", '#', Items.gold_nugget, 'X', Items.carrot);
add(new ItemStack(Items.speckled_melon, 1), "###", "#X#", "###", '#', Items.gold_nugget, 'X', Items.melon); add(new ItemStack(Items.speckled_melon, 1), "###", "#X#", "###", '#', Items.gold_nugget, 'X', Items.melon);
add(new ItemStack(Blocks.lever, 1), "X", "#", '#', Blocks.cobblestone, 'X', Items.stick); add(new ItemStack(Blocks.lever, 1), "X", "#", '#', Blocks.cobblestone, 'X', Items.stick);
add(new ItemStack(Blocks.redstone_torch, 1), "X", "#", '#', Items.stick, 'X', Items.redstone); add(new ItemStack(Blocks.redstone_torch, 1), "X", "#", '#', Items.stick, 'X', Items.redstone);
@ -342,13 +350,13 @@ public abstract class CraftingRegistry
add(new ItemStack(Items.dynamite, 1), "X#X", "#X#", "X#X", 'X', Items.gunpowder, '#', Items.clay_ball); add(new ItemStack(Items.dynamite, 1), "X#X", "#X#", "X#X", 'X', Items.gunpowder, '#', Items.clay_ball);
add(new ItemStack(Items.dynamite, 1, 1), "X#X", "#X#", "X#X", 'X', Items.gunpowder, '#', new ItemStack(Items.dynamite, 1, 0)); add(new ItemStack(Items.dynamite_1), "X#X", "#X#", "X#X", 'X', Items.gunpowder, '#', Items.dynamite);
add(new ItemStack(Items.dynamite, 1, 2), "##", "##", '#', new ItemStack(Items.dynamite, 1, 1)); add(new ItemStack(Items.dynamite_2), "##", "##", '#', Items.dynamite_1);
addShapeless(new ItemStack(Items.dynamite, 1, 3), new ItemStack(Items.dynamite, 1, 2), new ItemStack(Items.dynamite, 1, 2)); addShapeless(new ItemStack(Items.dynamite_3), Items.dynamite_2, Items.dynamite_2);
addShapeless(new ItemStack(Items.dynamite, 1, 4), new ItemStack(Items.dynamite, 1, 3), new ItemStack(Items.dynamite, 1, 3)); addShapeless(new ItemStack(Items.dynamite_4), Items.dynamite_3, Items.dynamite_3);
addShapeless(new ItemStack(Items.dynamite, 1, 5), new ItemStack(Items.dynamite, 1, 4), new ItemStack(Items.dynamite, 1, 4)); addShapeless(new ItemStack(Items.dynamite_5), Items.dynamite_4, Items.dynamite_4);
addShapeless(new ItemStack(Items.dynamite, 1, 6), new ItemStack(Items.dynamite, 1, 5), new ItemStack(Items.dynamite, 1, 5)); addShapeless(new ItemStack(Items.dynamite_6), Items.dynamite_5, Items.dynamite_5);
addShapeless(new ItemStack(Items.dynamite, 1, 7), new ItemStack(Items.dynamite, 1, 6), new ItemStack(Items.dynamite, 1, 6)); addShapeless(new ItemStack(Items.dynamite_7), Items.dynamite_6, Items.dynamite_6);
add(new ItemStack(Items.portal_frame, 1), "XYX", "X#X", "XXX", 'X', Blocks.obsidian, 'Y', Items.orb, '#', Items.charged_orb); add(new ItemStack(Items.portal_frame, 1), "XYX", "X#X", "XXX", 'X', Blocks.obsidian, 'Y', Items.orb, '#', Items.charged_orb);
add(new ItemStack(Items.experience_bottle, 1), "YXY", "X#X", "YXY", 'X', Blocks.glass_pane, 'Y', Blocks.glowstone, '#', Items.emerald); add(new ItemStack(Items.experience_bottle, 1), "YXY", "X#X", "YXY", 'X', Blocks.glass_pane, 'Y', Blocks.glowstone, '#', Items.emerald);
@ -359,7 +367,7 @@ public abstract class CraftingRegistry
add(new ItemStack(Items.chick_magnet, 1), "A A", "N N", " C ", 'A', Items.aluminium_ingot, 'N', Items.nickel_ingot, 'C', Items.cobalt_ingot); add(new ItemStack(Items.chick_magnet, 1), "A A", "N N", " C ", 'A', Items.aluminium_ingot, 'N', Items.nickel_ingot, 'C', Items.cobalt_ingot);
add(new ItemStack(Items.magnet, 1), "I I", "N N", " R ", 'I', Items.iron_ingot, 'N', Items.neodymium_ingot, 'R', Items.redstone); add(new ItemStack(Items.magnet, 1), "I I", "N N", " R ", 'I', Items.iron_ingot, 'N', Items.neodymium_ingot, 'R', Items.redstone);
addShapeless(new ItemStack(Items.potion, 1, 16384), new ItemStack(Items.potion, 1, 0), Items.gunpowder); addShapeless(new ItemStack(Items.splash_potion), Items.potion, Items.gunpowder);
add(new ItemStack(Blocks.construction_table), "---", "-#-", "---", '#', Blocks.workbench, '-', Items.iron_ingot); add(new ItemStack(Blocks.construction_table), "---", "-#-", "---", '#', Blocks.workbench, '-', Items.iron_ingot);
add(new ItemStack(Blocks.bedrock), "#####", "#####", "#####", "#####", "#####", '#', Blocks.obsidian); add(new ItemStack(Blocks.bedrock), "#####", "#####", "#####", "#####", "#####", '#', Blocks.obsidian);

View file

@ -36,7 +36,6 @@ import common.item.ItemStack;
import common.rng.Random; import common.rng.Random;
import common.tileentity.TileEntityDispenser; import common.tileentity.TileEntityDispenser;
import common.util.BlockPos; import common.util.BlockPos;
import common.util.ExtMath;
import common.util.Facing; import common.util.Facing;
import common.util.RegistryDefaulted; import common.util.RegistryDefaulted;
import common.world.State; import common.world.State;
@ -111,16 +110,13 @@ public abstract class DispenserRegistry {
return super.getVelocity() * 1.25F; return super.getVelocity() * 1.25F;
} }
}); });
REGISTRY.putObject(Items.potion, new IBehaviorDispenseItem() for(ItemPotion potion : ItemPotion.getPotions()) {
{ if(potion.isSplashPotion())
private final BehaviorDefaultDispenseItem field_150843_b = new BehaviorDefaultDispenseItem(); REGISTRY.putObject(potion, new BehaviorProjectileDispense()
public ItemStack dispense(IBlockSource source, final ItemStack stack) {
{
return ItemPotion.isSplash(stack.getMetadata()) ? (new BehaviorProjectileDispense()
{
protected IProjectile getProjectileEntity(World worldIn, IPosition position, ItemStack item) protected IProjectile getProjectileEntity(World worldIn, IPosition position, ItemStack item)
{ {
return new EntityPotion(worldIn, position.getX(), position.getY(), position.getZ(), stack.copy()); return new EntityPotion(worldIn, position.getX(), position.getY(), position.getZ(), item.copy());
} }
protected float getInaccuracy() protected float getInaccuracy()
{ {
@ -130,9 +126,8 @@ public abstract class DispenserRegistry {
{ {
return super.getVelocity() * 1.25F; return super.getVelocity() * 1.25F;
} }
}).dispense(source, stack): this.field_150843_b.dispense(source, stack); });
} }
});
IBehaviorDispenseItem disp = new BehaviorDefaultDispenseItem() IBehaviorDispenseItem disp = new BehaviorDefaultDispenseItem()
{ {
public ItemStack dispenseStack(IBlockSource source, ItemStack stack) public ItemStack dispenseStack(IBlockSource source, ItemStack stack)
@ -360,7 +355,7 @@ public abstract class DispenserRegistry {
} }
} }
}); });
REGISTRY.putObject(ItemDye.getByColor(DyeColor.WHITE), new BehaviorDefaultDispenseItem() REGISTRY.putObject(Items.bonemeal, new BehaviorDefaultDispenseItem()
{ {
private boolean success = true; private boolean success = true;
protected ItemStack dispenseStack(IBlockSource source, ItemStack stack) protected ItemStack dispenseStack(IBlockSource source, ItemStack stack)

View file

@ -3,6 +3,14 @@ package common.init;
import java.util.Map; import java.util.Map;
import common.block.Block; import common.block.Block;
import common.block.artificial.BlockCarpet;
import common.block.artificial.BlockWool;
import common.block.foliage.BlockDoublePlant;
import common.block.foliage.BlockFlower;
import common.block.foliage.BlockLeaves;
import common.block.foliage.BlockTallGrass;
import common.block.foliage.LeavesType;
import common.block.tech.BlockTNT;
import common.collect.Maps; import common.collect.Maps;
public abstract class FlammabilityRegistry { public abstract class FlammabilityRegistry {
@ -22,21 +30,35 @@ public abstract class FlammabilityRegistry {
setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_fence"), 5, 20); setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_fence"), 5, 20);
setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_fence_gate"), 5, 20); setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_fence_gate"), 5, 20);
setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_log"), 5, 5); setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_log"), 5, 5);
setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_leaves"), 30, 60); for(LeavesType type : LeavesType.values()) {
setFlammable(BlockLeaves.getLeavesBlock(wood, type), 30, 60);
}
setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_sapling"), 15, 100); setFlammable(BlockRegistry.getRegisteredBlock(wood.getName() + "_sapling"), 15, 100);
} }
for(BlockTNT block : BlockTNT.TNTS) {
setFlammable(block, 15, 100);
}
for(BlockTallGrass block : BlockTallGrass.BUSHES) {
setFlammable(block, 60, 100);
}
for(BlockDoublePlant block : BlockDoublePlant.PLANTS) {
setFlammable(block, 60, 100);
}
for(BlockFlower block : BlockFlower.FLOWERS) {
setFlammable(block, 60, 100);
}
for(BlockWool block : BlockWool.WOOLS) {
setFlammable(block, 30, 60);
}
for(BlockCarpet block : BlockCarpet.CARPETS) {
setFlammable(block, 60, 20);
}
setFlammable(Blocks.bookshelf, 30, 20); setFlammable(Blocks.bookshelf, 30, 20);
setFlammable(Blocks.tnt, 15, 100);
setFlammable(Blocks.tallgrass, 60, 100);
setFlammable(Blocks.double_plant, 60, 100);
setFlammable(Blocks.flower, 60, 100);
setFlammable(Blocks.deadbush, 60, 100); setFlammable(Blocks.deadbush, 60, 100);
setFlammable(Blocks.dry_leaves, 60, 100); setFlammable(Blocks.dry_leaves, 60, 100);
setFlammable(Blocks.wool, 30, 60);
setFlammable(Blocks.vine, 15, 100); setFlammable(Blocks.vine, 15, 100);
setFlammable(Blocks.coal_block, 5, 5); setFlammable(Blocks.coal_block, 5, 5);
setFlammable(Blocks.hay_block, 60, 20); setFlammable(Blocks.hay_block, 60, 20);
setFlammable(Blocks.carpet, 60, 20);
} }
public static int getFlammability(Block block) { public static int getFlammability(Block block) {

View file

@ -497,7 +497,7 @@ public abstract class ItemRegistry {
registerItem("written_book", (new Item()).setDisplay("Beschriebenes Buch").setTab(CheatTab.MISC)); registerItem("written_book", (new Item()).setDisplay("Beschriebenes Buch").setTab(CheatTab.MISC));
Item emerald = (new Item()).setDisplay("Smaragd").setTab(CheatTab.METALS); Item emerald = (new Item()).setDisplay("Smaragd").setTab(CheatTab.METALS);
registerItem("emerald", emerald); registerItem("emerald", emerald);
registerItem((new ItemSmallBlock(Blocks.flower_pot)).setDisplay("Blumentopf").setTab(CheatTab.DECORATION)); registerItem((new ItemSmallBlock(Blocks.flowerpot)).setDisplay("Blumentopf").setTab(CheatTab.DECORATION));
registerItem((new ItemSeedFood(3, Blocks.carrot, Blocks.farmland)).setDisplay("Karotte").setMaxAmount(128)); registerItem((new ItemSeedFood(3, Blocks.carrot, Blocks.farmland)).setDisplay("Karotte").setMaxAmount(128));
registerItem((new ItemSeedFood(1, Blocks.potato, Blocks.farmland)).setDisplay("Kartoffel").setMaxAmount(128)); registerItem((new ItemSeedFood(1, Blocks.potato, Blocks.farmland)).setDisplay("Kartoffel").setMaxAmount(128));
registerItem("baked_potato", (new ItemFood(5, false)).setDisplay("Ofenkartoffel").setMaxAmount(128)); registerItem("baked_potato", (new ItemFood(5, false)).setDisplay("Ofenkartoffel").setMaxAmount(128));

View file

@ -75,7 +75,7 @@ public abstract class Items {
public static final ItemMetal black_metal_ingot = get("black_metal_ingot"); public static final ItemMetal black_metal_ingot = get("black_metal_ingot");
public static final ItemMetalBlock black_metal_ore = get("black_metal_ore"); public static final ItemMetalBlock black_metal_ore = get("black_metal_ore");
public static final Item black_quartz = get("black_quartz"); public static final Item black_quartz = get("black_quartz");
public static final ItemMultiTexture black_quartz_block = get("black_quartz_block"); public static final ItemBlock black_quartz_block = get("black_quartz_block");
public static final ItemBlock black_quartz_ore = get("black_quartz_ore"); public static final ItemBlock black_quartz_ore = get("black_quartz_ore");
public static final ItemSlab black_quartz_slab = get("black_quartz_slab"); public static final ItemSlab black_quartz_slab = get("black_quartz_slab");
public static final ItemBlock black_quartz_stairs = get("black_quartz_stairs"); public static final ItemBlock black_quartz_stairs = get("black_quartz_stairs");
@ -178,7 +178,6 @@ public abstract class Items {
public static final ItemBlock construction_table = get("construction_table"); public static final ItemBlock construction_table = get("construction_table");
public static final ItemFood cooked_beef = get("cooked_beef"); public static final ItemFood cooked_beef = get("cooked_beef");
public static final ItemFood cooked_chicken = get("cooked_chicken"); public static final ItemFood cooked_chicken = get("cooked_chicken");
public static final ItemFishFood cooked_fish = get("cooked_fish");
public static final ItemFood cooked_porkchop = get("cooked_porkchop"); public static final ItemFood cooked_porkchop = get("cooked_porkchop");
public static final ItemFood cookie = get("cookie"); public static final ItemFood cookie = get("cookie");
public static final ItemMetalBlock copper_block = get("copper_block"); public static final ItemMetalBlock copper_block = get("copper_block");
@ -213,7 +212,7 @@ public abstract class Items {
public static final ItemShovel diamond_shovel = get("diamond_shovel"); public static final ItemShovel diamond_shovel = get("diamond_shovel");
public static final ItemSword diamond_sword = get("diamond_sword"); public static final ItemSword diamond_sword = get("diamond_sword");
public static final ItemDie die = get("die"); public static final ItemDie die = get("die");
public static final ItemMultiTexture dirt = get("dirt"); public static final ItemBlock dirt = get("dirt");
public static final ItemDispenser dispenser = get("dispenser"); public static final ItemDispenser dispenser = get("dispenser");
public static final ItemDoublePlant double_plant = get("double_plant"); public static final ItemDoublePlant double_plant = get("double_plant");
public static final ItemBlock dragon_egg = get("dragon_egg"); public static final ItemBlock dragon_egg = get("dragon_egg");
@ -235,7 +234,6 @@ public abstract class Items {
public static final ItemFireball fire_charge = get("fire_charge"); public static final ItemFireball fire_charge = get("fire_charge");
public static final ItemFireworkCharge firework_charge = get("firework_charge"); public static final ItemFireworkCharge firework_charge = get("firework_charge");
public static final ItemFirework fireworks = get("fireworks"); public static final ItemFirework fireworks = get("fireworks");
public static final ItemFishFood fish = get("fish");
public static final ItemFishingRod fishing_rod = get("fishing_rod"); public static final ItemFishingRod fishing_rod = get("fishing_rod");
public static final Item flint = get("flint"); public static final Item flint = get("flint");
public static final ItemFlintAndSteel flint_and_steel = get("flint_and_steel"); public static final ItemFlintAndSteel flint_and_steel = get("flint_and_steel");
@ -243,7 +241,7 @@ public abstract class Items {
public static final ItemBlock floor_tiles_black = get("floor_tiles_black"); public static final ItemBlock floor_tiles_black = get("floor_tiles_black");
public static final ItemBlock floor_tiles_red = get("floor_tiles_red"); 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 ItemBlock floor_tiles_white = get("floor_tiles_white");
public static final ItemMultiTexture flower = get("flower"); public static final ItemBlock flower = get("flower");
public static final ItemSmallBlock flower_pot = get("flower_pot"); public static final ItemSmallBlock flower_pot = get("flower_pot");
public static final ItemBlock furnace = get("furnace"); public static final ItemBlock furnace = get("furnace");
public static final ItemTiny ghast_tear = get("ghast_tear"); public static final ItemTiny ghast_tear = get("ghast_tear");
@ -442,7 +440,7 @@ public abstract class Items {
public static final ItemSeeds pumpkin_stem = get("pumpkin_stem"); public static final ItemSeeds pumpkin_stem = get("pumpkin_stem");
public static final ItemBed purple_bed = get("purple_bed"); public static final ItemBed purple_bed = get("purple_bed");
public static final Item quartz = get("quartz"); public static final Item quartz = get("quartz");
public static final ItemMultiTexture quartz_block = get("quartz_block"); public static final ItemBlock quartz_block = get("quartz_block");
public static final ItemBlock quartz_ore = get("quartz_ore"); public static final ItemBlock quartz_ore = get("quartz_ore");
public static final ItemSlab quartz_slab = get("quartz_slab"); public static final ItemSlab quartz_slab = get("quartz_slab");
public static final ItemBlock quartz_stairs = get("quartz_stairs"); public static final ItemBlock quartz_stairs = get("quartz_stairs");
@ -486,14 +484,14 @@ public abstract class Items {
public static final ItemBlock redstone_torch = get("redstone_torch"); public static final ItemBlock redstone_torch = get("redstone_torch");
public static final ItemSmallBlock reeds = get("reeds"); public static final ItemSmallBlock reeds = get("reeds");
public static final ItemSmallBlock repeater = get("repeater"); public static final ItemSmallBlock repeater = get("repeater");
public static final ItemMultiTexture rock = get("rock"); public static final ItemBlock rock = get("rock");
public static final ItemFood rotten_flesh = get("rotten_flesh"); public static final ItemFood rotten_flesh = get("rotten_flesh");
public static final Item ruby = get("ruby"); public static final Item ruby = get("ruby");
public static final ItemBlock ruby_block = get("ruby_block"); public static final ItemBlock ruby_block = get("ruby_block");
public static final ItemBlock ruby_ore = get("ruby_ore"); public static final ItemBlock ruby_ore = get("ruby_ore");
public static final ItemSaddle saddle = get("saddle"); public static final ItemSaddle saddle = get("saddle");
public static final ItemMultiTexture sand = get("sand"); public static final ItemBlock sand = get("sand");
public static final ItemMultiTexture sandstone = get("sandstone"); public static final ItemBlock sandstone = get("sandstone");
public static final ItemSlab sandstone_slab = get("sandstone_slab"); public static final ItemSlab sandstone_slab = get("sandstone_slab");
public static final ItemBlock sandstone_stairs = get("sandstone_stairs"); public static final ItemBlock sandstone_stairs = get("sandstone_stairs");
public static final ItemMetalBlock selenium_block = get("selenium_block"); public static final ItemMetalBlock selenium_block = get("selenium_block");
@ -545,7 +543,7 @@ public abstract class Items {
public static final ItemSlab stone_slab = get("stone_slab"); public static final ItemSlab stone_slab = get("stone_slab");
public static final ItemBlock stone_stairs = get("stone_stairs"); public static final ItemBlock stone_stairs = get("stone_stairs");
public static final ItemSword stone_sword = get("stone_sword"); public static final ItemSword stone_sword = get("stone_sword");
public static final ItemMultiTexture stonebrick = get("stonebrick"); public static final ItemBlock stonebrick = get("stonebrick");
public static final ItemSlab stonebrick_slab = get("stonebrick_slab"); public static final ItemSlab stonebrick_slab = get("stonebrick_slab");
public static final ItemBlock stonebrick_stairs = get("stonebrick_stairs"); public static final ItemBlock stonebrick_stairs = get("stonebrick_stairs");
public static final ItemSmallBlock string = get("string"); public static final ItemSmallBlock string = get("string");

View file

@ -25,29 +25,24 @@ public abstract class SmeltingRegistry
static void register() static void register()
{ {
// add(Blocks.iron_ore, new ItemStack(Items.iron_ingot), 0.7F);
// add(Blocks.gold_ore, new ItemStack(Items.gold_ingot), 1.0F);
// add(Blocks.diamond_ore, new ItemStack(Items.diamond), 1.0F);
add(Blocks.sand, new ItemStack(Blocks.glass), 0.1F); add(Blocks.sand, new ItemStack(Blocks.glass), 0.1F);
add(Blocks.red_sand, new ItemStack(Blocks.glass), 0.1F);
add(Items.porkchop, new ItemStack(Items.cooked_porkchop), 0.35F); add(Items.porkchop, new ItemStack(Items.cooked_porkchop), 0.35F);
add(Items.beef, new ItemStack(Items.cooked_beef), 0.35F); add(Items.beef, new ItemStack(Items.cooked_beef), 0.35F);
add(Items.chicken, new ItemStack(Items.cooked_chicken), 0.35F); add(Items.chicken, new ItemStack(Items.cooked_chicken), 0.35F);
// addSmelting(Items.rabbit, new ItemStack(Items.cooked_rabbit), 0.35F);
// addSmelting(Items.mutton, new ItemStack(Items.cooked_mutton), 0.35F);
add(Blocks.cobblestone, new ItemStack(Blocks.stone), 0.1F); add(Blocks.cobblestone, new ItemStack(Blocks.stone), 0.1F);
add(new ItemStack(Blocks.stonebrick), new ItemStack(Blocks.stonebrick_cracked), 0.1F); add(Blocks.stonebrick, new ItemStack(Blocks.stonebrick_cracked), 0.1F);
add(Items.clay_ball, new ItemStack(Items.brick), 0.3F); add(Items.clay_ball, new ItemStack(Items.brick), 0.3F);
add(Blocks.clay, new ItemStack(Blocks.hardened_clay), 0.35F); add(Blocks.clay, new ItemStack(Blocks.hardened_clay), 0.35F);
add(Blocks.cactus, new ItemStack(Items.cactus_green), 0.2F); add(Blocks.cactus, new ItemStack(Items.cactus_green), 0.2F);
add(Items.potato, new ItemStack(Items.baked_potato), 0.35F); add(Items.potato, new ItemStack(Items.baked_potato), 0.35F);
add(Blocks.hellrock, new ItemStack(Items.bloodbrick), 0.1F); add(Blocks.hellrock, new ItemStack(Items.bloodbrick), 0.1F);
// add(new ItemStack(Blocks.sponge, 1, 1), new ItemStack(Blocks.sponge, 1, 0), 0.15F);
for (ItemFishFood.FishType itemfishfood$fishtype : ItemFishFood.FishType.values()) for (ItemFishFood.FishType fish : ItemFishFood.FishType.values())
{ {
if (itemfishfood$fishtype.canCook()) if (fish.canCook())
{ {
add(new ItemStack(Items.fish, 1, itemfishfood$fishtype.getMetadata()), new ItemStack(Items.cooked_fish, 1, itemfishfood$fishtype.getMetadata()), 0.35F); add(ItemRegistry.getRegisteredItem(fish.getName()), new ItemStack(ItemRegistry.getRegisteredItem("cooked_" + fish.getName())), 0.35F);
} }
} }
@ -67,7 +62,6 @@ public abstract class SmeltingRegistry
} }
for(WoodType wood : WoodType.values()) { for(WoodType wood : WoodType.values()) {
add(BlockRegistry.getRegisteredBlock(wood.getName() + "_log"), new ItemStack(Items.charcoal), 0.15F); add(BlockRegistry.getRegisteredBlock(wood.getName() + "_log"), new ItemStack(Items.charcoal), 0.15F);
// add(Blocks.log2, new ItemStack(Items.coal, 1, 1), 0.15F);
} }
} }

View file

@ -28,43 +28,15 @@ public abstract class TradeRegistry {
new ItemForGem(Items.cake, new PriceInfo(1, 1)), new ItemForGem(Items.cake, new PriceInfo(1, 1)),
new GemForItem(Items.string, new PriceInfo(15, 20)), new GemForItem(Items.string, new PriceInfo(15, 20)),
new GemForItem(Items.coal, new PriceInfo(16, 24)), new GemForItem(Items.coal, new PriceInfo(16, 24)),
new ItemForGemItem(Items.fish, new PriceInfo(6, 6), Items.cooked_fish, new ItemForGemItem(Items.cod, new PriceInfo(6, 6), Items.cooked_cod, new PriceInfo(6, 6)),
new PriceInfo(6, 6)),
new EnchForGem(Items.fishing_rod, new PriceInfo(7, 8)), new EnchForGem(Items.fishing_rod, new PriceInfo(7, 8)),
new GemForItem(ItemRegistry.getItemFromBlock(Blocks.wool), new PriceInfo(16, 22)), new GemForItem(ItemRegistry.getItemFromBlock(Blocks.wool), new PriceInfo(16, 22)),
new ItemForGem(Items.iron_shears, new PriceInfo(3, 4)), new ItemForGem(Items.iron_shears, new PriceInfo(3, 4)),
new ItemForGem(new ItemStack(ItemRegistry.getItemFromBlock(Blocks.wool), 1, 0), new ItemForGem(Items.white_wool, new PriceInfo(1, 2)),
new PriceInfo(1, 2)), new ItemForGem(Items.black_wool, new PriceInfo(1, 2)),
new ItemForGem(new ItemStack(ItemRegistry.getItemFromBlock(Blocks.wool), 1, 1), new ItemForGem(Items.brown_wool, new PriceInfo(1, 2)),
new PriceInfo(1, 2)), new ItemForGem(Items.gray_wool, new PriceInfo(1, 2)),
new ItemForGem(new ItemStack(ItemRegistry.getItemFromBlock(Blocks.wool), 1, 2), new ItemForGem(Items.silver_wool, new PriceInfo(1, 2)),
new PriceInfo(1, 2)),
new ItemForGem(new ItemStack(ItemRegistry.getItemFromBlock(Blocks.wool), 1, 3),
new PriceInfo(1, 2)),
new ItemForGem(new ItemStack(ItemRegistry.getItemFromBlock(Blocks.wool), 1, 4),
new PriceInfo(1, 2)),
new ItemForGem(new ItemStack(ItemRegistry.getItemFromBlock(Blocks.wool), 1, 5),
new PriceInfo(1, 2)),
new ItemForGem(new ItemStack(ItemRegistry.getItemFromBlock(Blocks.wool), 1, 6),
new PriceInfo(1, 2)),
new ItemForGem(new ItemStack(ItemRegistry.getItemFromBlock(Blocks.wool), 1, 7),
new PriceInfo(1, 2)),
new ItemForGem(new ItemStack(ItemRegistry.getItemFromBlock(Blocks.wool), 1, 8),
new PriceInfo(1, 2)),
new ItemForGem(new ItemStack(ItemRegistry.getItemFromBlock(Blocks.wool), 1, 9),
new PriceInfo(1, 2)),
new ItemForGem(new ItemStack(ItemRegistry.getItemFromBlock(Blocks.wool), 1, 10),
new PriceInfo(1, 2)),
new ItemForGem(new ItemStack(ItemRegistry.getItemFromBlock(Blocks.wool), 1, 11),
new PriceInfo(1, 2)),
new ItemForGem(new ItemStack(ItemRegistry.getItemFromBlock(Blocks.wool), 1, 12),
new PriceInfo(1, 2)),
new ItemForGem(new ItemStack(ItemRegistry.getItemFromBlock(Blocks.wool), 1, 13),
new PriceInfo(1, 2)),
new ItemForGem(new ItemStack(ItemRegistry.getItemFromBlock(Blocks.wool), 1, 14),
new PriceInfo(1, 2)),
new ItemForGem(new ItemStack(ItemRegistry.getItemFromBlock(Blocks.wool), 1, 15),
new PriceInfo(1, 2)),
new GemForItem(Items.string, new PriceInfo(15, 20)), new GemForItem(Items.string, new PriceInfo(15, 20)),
new ItemForGem(Items.arrow, new PriceInfo(-12, -8)), new ItemForGem(Items.arrow, new PriceInfo(-12, -8)),
new ItemForGem(Items.bow, new PriceInfo(2, 3)), new ItemForGem(Items.bow, new PriceInfo(2, 3)),
@ -77,7 +49,6 @@ public abstract class TradeRegistry {
new ItemForGem(ItemRegistry.getItemFromBlock(Blocks.bookshelf), new ItemForGem(ItemRegistry.getItemFromBlock(Blocks.bookshelf),
new PriceInfo(3, 4)), new PriceInfo(3, 4)),
new GemForItem(Items.written_book, new PriceInfo(2, 2)), new GemForItem(Items.written_book, new PriceInfo(2, 2)),
// new ItemForGem(Items.clock, new PriceInfo(10, 12)),
new ItemForGem(ItemRegistry.getItemFromBlock(Blocks.glass), new ItemForGem(ItemRegistry.getItemFromBlock(Blocks.glass),
new PriceInfo(-5, -3)), new PriceInfo(-5, -3)),
new BookForGem(), new BookForGem(),
@ -86,11 +57,9 @@ public abstract class TradeRegistry {
new GemForItem(Items.rotten_flesh, new PriceInfo(36, 40)), new GemForItem(Items.rotten_flesh, new PriceInfo(36, 40)),
new GemForItem(Items.gold_ingot, new PriceInfo(8, 10)), new GemForItem(Items.gold_ingot, new PriceInfo(8, 10)),
new ItemForGem(Items.redstone, new PriceInfo(-4, -1)), new ItemForGem(Items.redstone, new PriceInfo(-4, -1)),
new ItemForGem(new ItemStack(Items.dye, 1, DyeColor.BLUE.getDyeDamage()), new ItemForGem(Items.ink_sack, new PriceInfo(-2, -1)),
new PriceInfo(-2, -1)),
new ItemForGem(Items.charged_orb, new PriceInfo(7, 11)), new ItemForGem(Items.charged_orb, new PriceInfo(7, 11)),
new ItemForGem(ItemRegistry.getItemFromBlock(Blocks.glowstone), new ItemForGem(Items.glowstone, new PriceInfo(-3, -1)),
new PriceInfo(-3, -1)),
new ItemForGem(Items.experience_bottle, new PriceInfo(3, 11)), new ItemForGem(Items.experience_bottle, new PriceInfo(3, 11)),
new GemForItem(Items.coal, new PriceInfo(16, 24)), new GemForItem(Items.coal, new PriceInfo(16, 24)),
new ItemForGem(Items.iron_helmet, new PriceInfo(4, 6)), new ItemForGem(Items.iron_helmet, new PriceInfo(4, 6)),

View file

@ -7,6 +7,7 @@ import common.block.tile.BlockWallSign;
import common.color.DyeColor; import common.color.DyeColor;
import common.entity.npc.EntityNPC; import common.entity.npc.EntityNPC;
import common.init.Blocks; import common.init.Blocks;
import common.init.Items;
import common.model.ItemMeshDefinition; import common.model.ItemMeshDefinition;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.ModelProvider;
@ -25,6 +26,20 @@ public class ItemBanner extends ItemBlock
super(Blocks.banner); super(Blocks.banner);
this.setTab(CheatTab.DECORATION); this.setTab(CheatTab.DECORATION);
} }
public static ItemStack getColoredBanner(DyeColor color) {
return Items.banner.getColored(color);
}
private ItemStack getColored(DyeColor color) {
TagObject tag = new TagObject();
TileEntityBanner.setBaseColorAndPatterns(tag, color.getDyeDamage(), null);
TagObject tile = new TagObject();
tile.setObject("BlockEntityTag", tag);
ItemStack stack = new ItemStack(this);
stack.setTagCompound(tile);
return stack;
}
/** /**
* Called when a Block is right-clicked with this Item * Called when a Block is right-clicked with this Item
@ -132,15 +147,9 @@ public class ItemBanner extends ItemBlock
*/ */
public void getSubItems(Item itemIn, CheatTab tab, List<ItemStack> subItems) public void getSubItems(Item itemIn, CheatTab tab, List<ItemStack> subItems)
{ {
for (DyeColor enumdyecolor : DyeColor.values()) for (DyeColor color : DyeColor.values())
{ {
TagObject nbttagcompound = new TagObject(); subItems.add(this.getColored(color));
TileEntityBanner.setBaseColorAndPatterns(nbttagcompound, enumdyecolor.getDyeDamage(), null);
TagObject nbttagcompound1 = new TagObject();
nbttagcompound1.setObject("BlockEntityTag", nbttagcompound);
ItemStack itemstack = new ItemStack(itemIn);
itemstack.setTagCompound(nbttagcompound1);
subItems.add(itemstack);
} }
} }

View file

@ -1,9 +1,5 @@
package common.item; package common.item;
import java.util.List;
import java.util.Map;
import common.collect.Maps;
import common.entity.npc.EntityNPC; import common.entity.npc.EntityNPC;
import common.model.Model; import common.model.Model;
import common.model.ModelProvider; import common.model.ModelProvider;
@ -23,6 +19,14 @@ public class ItemFishFood extends ItemFood
this.cooked = cooked; this.cooked = cooked;
this.type = type; this.type = type;
} }
public FishType getType() {
return this.type;
}
public boolean isCooked() {
return this.cooked;
}
public int getHealAmount(ItemStack stack) public int getHealAmount(ItemStack stack)
{ {

View file

@ -1,5 +1,6 @@
package common.item; package common.item;
import java.util.Collection;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -20,7 +21,7 @@ import common.world.World;
public class ItemPotion extends Item public class ItemPotion extends Item
{ {
private static final Map<Integer, ItemPotion> POTIONS = Maps.newHashMap(); private static final Map<Integer, ItemPotion> POTIONS = Maps.newTreeMap();
private static final Map<List<PotionEffect>, Integer> SUB_ITEMS_CACHE = Maps.<List<PotionEffect>, Integer>newLinkedHashMap(); private static final Map<List<PotionEffect>, Integer> SUB_ITEMS_CACHE = Maps.<List<PotionEffect>, Integer>newLinkedHashMap();
private final int data; private final int data;
@ -28,7 +29,11 @@ public class ItemPotion extends Item
private List<PotionEffect> effectCache; private List<PotionEffect> effectCache;
public static ItemPotion getPotionItem(int data) { public static ItemPotion getPotionItem(int data) {
return POTIONS.getOrDefault(data, isSplash(data) ? Items.splash_potion : Items.potion); return POTIONS.getOrDefault(data, (data & 16384) != 0 ? Items.splash_potion : Items.potion);
}
public static Collection<ItemPotion> getPotions() {
return POTIONS.values();
} }
public ItemPotion(int data) public ItemPotion(int data)
@ -119,7 +124,7 @@ public class ItemPotion extends Item
*/ */
public ItemStack onItemRightClick(ItemStack itemStackIn, World worldIn, EntityNPC playerIn) public ItemStack onItemRightClick(ItemStack itemStackIn, World worldIn, EntityNPC playerIn)
{ {
if (isSplash(this.data)) if (this.isSplashPotion())
{ {
// if (!playerIn.creative) // if (!playerIn.creative)
// { // {
@ -142,13 +147,9 @@ public class ItemPotion extends Item
return itemStackIn; return itemStackIn;
} }
} }
/** public boolean isSplashPotion() {
* returns wether or not a potion is a throwable splash potion based on damage value return (this.data & 16384) != 0;
*/
public static boolean isSplash(int meta)
{
return (meta & 16384) != 0;
} }
public int getColorFromDamage() public int getColorFromDamage()
@ -187,13 +188,13 @@ public class ItemPotion extends Item
{ {
if ((this.data & 16383) == 0) if ((this.data & 16383) == 0)
{ {
return (isSplash(this.data) ? "Werfbare " : "") + "Wasserflasche"; return (this.isSplashPotion() ? "Werfbare " : "") + "Wasserflasche";
} }
else else
{ {
String s = ""; String s = "";
if (isSplash(this.data)) if (this.isSplashPotion())
{ {
s = "Werfbarer "; s = "Werfbarer ";
} }
@ -336,7 +337,7 @@ public class ItemPotion extends Item
{ {
public String getModelLocation(ItemStack stack) public String getModelLocation(ItemStack stack)
{ {
return ItemPotion.isSplash(ItemPotion.this.data) ? ("item/splash_potion" + '#' + "inventory") : ("item/potion" + '#' + "inventory"); return ItemPotion.this.isSplashPotion() ? ("item/splash_potion" + '#' + "inventory") : ("item/potion" + '#' + "inventory");
} }
}; };
} }

View file

@ -145,18 +145,18 @@ public class TileEntityBrewingStand extends TileEntityLockable implements ITicka
{ {
if (this.brewingItemStacks[i] != null && this.brewingItemStacks[i].getItem() instanceof ItemPotion potion) if (this.brewingItemStacks[i] != null && this.brewingItemStacks[i].getItem() instanceof ItemPotion potion)
{ {
int k = this.getPotionResult(potion.getPotionData(), itemstack); ItemPotion result = this.getPotionResult(potion, itemstack);
if (!ItemPotion.isSplash(potion.getPotionData()) && ItemPotion.isSplash(k)) if (!potion.isSplashPotion() && result.isSplashPotion())
{ {
flag = true; flag = true;
break; break;
} }
List<PotionEffect> list = potion.getEffects(); List<PotionEffect> list = potion.getEffects();
List<PotionEffect> list1 = ItemPotion.getPotionItem(k).getEffects(); List<PotionEffect> list1 = result.getEffects();
if ((potion.getPotionData() <= 0 || list != list1) && (list == null || !list.equals(list1) && list1 != null) && potion.getPotionData() != k) if ((potion.getPotionData() <= 0 || list != list1) && (list == null || !list.equals(list1) && list1 != null) && potion != result)
{ {
flag = true; flag = true;
break; break;
@ -183,20 +183,20 @@ public class TileEntityBrewingStand extends TileEntityLockable implements ITicka
{ {
if (this.brewingItemStacks[i] != null && this.brewingItemStacks[i].getItem() instanceof ItemPotion potion) if (this.brewingItemStacks[i] != null && this.brewingItemStacks[i].getItem() instanceof ItemPotion potion)
{ {
int k = this.getPotionResult(potion.getPotionData(), itemstack); ItemPotion result = this.getPotionResult(potion, itemstack);
List<PotionEffect> list = potion.getEffects(); List<PotionEffect> list = potion.getEffects();
List<PotionEffect> list1 = ItemPotion.getPotionItem(k).getEffects(); List<PotionEffect> list1 = result.getEffects();
if (potion.getPotionData() > 0 && list == list1 || list != null && (list.equals(list1) || list1 == null)) if (potion.getPotionData() > 0 && list == list1 || list != null && (list.equals(list1) || list1 == null))
{ {
if (!ItemPotion.isSplash(potion.getPotionData()) && ItemPotion.isSplash(k)) if (!potion.isSplashPotion() && result.isSplashPotion())
{ {
this.brewingItemStacks[i] = new ItemStack(ItemPotion.getPotionItem(k)); this.brewingItemStacks[i] = new ItemStack(result);
} }
} }
else if (potion.getPotionData() != k) else if (potion != result)
{ {
this.brewingItemStacks[i] = new ItemStack(ItemPotion.getPotionItem(k)); this.brewingItemStacks[i] = new ItemStack(result);
} }
} }
} }
@ -217,12 +217,9 @@ public class TileEntityBrewingStand extends TileEntityLockable implements ITicka
} }
} }
/** private ItemPotion getPotionResult(ItemPotion potion, ItemStack stack)
* The result of brewing a potion of the specified damage value with an ingredient itemstack.
*/
private int getPotionResult(int meta, ItemStack stack)
{ {
return stack == null ? meta : (stack.getItem().isPotionIngredient(stack) ? PotionHelper.applyIngredient(meta, stack.getItem().getPotionEffect(stack)) : meta); return stack == null ? potion : (stack.getItem().isPotionIngredient(stack) ? ItemPotion.getPotionItem(PotionHelper.applyIngredient(potion.getPotionData(), stack.getItem().getPotionEffect(stack))) : potion);
} }
public void readTags(TagObject compound) public void readTags(TagObject compound)

View file

@ -8,6 +8,7 @@ import java.util.Set;
import common.block.Block; import common.block.Block;
import common.block.artificial.BlockBed; import common.block.artificial.BlockBed;
import common.block.artificial.BlockDoor; import common.block.artificial.BlockDoor;
import common.block.artificial.BlockFlowerPot;
import common.block.foliage.BlockFlower; import common.block.foliage.BlockFlower;
import common.color.DyeColor; import common.color.DyeColor;
import common.init.BlockRegistry; import common.init.BlockRegistry;
@ -50,8 +51,8 @@ public abstract class ReorderRegistry {
PLACE_LAST.add(Blocks.tallgrass); PLACE_LAST.add(Blocks.tallgrass);
PLACE_LAST.add(Blocks.deadbush); PLACE_LAST.add(Blocks.deadbush);
PLACE_LAST.add(Blocks.piston_head); PLACE_LAST.add(Blocks.piston_head);
for(BlockFlower.EnumFlowerType type : BlockFlower.EnumFlowerType.values()) { for(BlockFlower block : BlockFlower.FLOWERS) {
PLACE_LAST.add(BlockFlower.getByType(type)); PLACE_LAST.add(block);
} }
PLACE_LAST.add(Blocks.brown_mushroom); PLACE_LAST.add(Blocks.brown_mushroom);
PLACE_LAST.add(Blocks.red_mushroom_block); PLACE_LAST.add(Blocks.red_mushroom_block);
@ -84,7 +85,9 @@ public abstract class ReorderRegistry {
PLACE_LAST.add(Blocks.cocoa); PLACE_LAST.add(Blocks.cocoa);
PLACE_LAST.add(Blocks.tripwire_hook); PLACE_LAST.add(Blocks.tripwire_hook);
PLACE_LAST.add(Blocks.string); PLACE_LAST.add(Blocks.string);
PLACE_LAST.add(Blocks.flower_pot); for(BlockFlowerPot block : BlockFlowerPot.POTS) {
PLACE_LAST.add(block);
}
PLACE_LAST.add(Blocks.carrot); PLACE_LAST.add(Blocks.carrot);
PLACE_LAST.add(Blocks.potato); PLACE_LAST.add(Blocks.potato);
PLACE_LAST.add(Blocks.wooden_button); PLACE_LAST.add(Blocks.wooden_button);
@ -141,8 +144,8 @@ public abstract class ReorderRegistry {
addAttach(Blocks.piston_head.getStateFromMeta(offset + 1), Facing.DOWN); addAttach(Blocks.piston_head.getStateFromMeta(offset + 1), Facing.DOWN);
addCardinals(Blocks.piston_head, offset + 2, offset + 5, offset + 3, offset + 4); addCardinals(Blocks.piston_head, offset + 2, offset + 5, offset + 3, offset + 4);
} }
for(BlockFlower.EnumFlowerType type : BlockFlower.EnumFlowerType.values()) { for(BlockFlower block : BlockFlower.FLOWERS) {
addAttach(BlockFlower.getByType(type), Facing.DOWN); addAttach(block, Facing.DOWN);
} }
addAttach(Blocks.brown_mushroom, Facing.DOWN); addAttach(Blocks.brown_mushroom, Facing.DOWN);
addAttach(Blocks.red_mushroom, Facing.DOWN); addAttach(Blocks.red_mushroom, Facing.DOWN);
@ -200,7 +203,9 @@ public abstract class ReorderRegistry {
addCardinals(Blocks.tripwire_hook, offset + 2, offset + 3, offset + 0, offset + 1); addCardinals(Blocks.tripwire_hook, offset + 2, offset + 3, offset + 0, offset + 1);
} }
addAttach(Blocks.string, Facing.DOWN); addAttach(Blocks.string, Facing.DOWN);
addAttach(Blocks.flower_pot, Facing.DOWN); for(BlockFlowerPot block : BlockFlowerPot.POTS) {
addAttach(block, Facing.DOWN);
}
addAttach(Blocks.carrot, Facing.DOWN); addAttach(Blocks.carrot, Facing.DOWN);
addAttach(Blocks.potato, Facing.DOWN); addAttach(Blocks.potato, Facing.DOWN);
addAttach(Blocks.anvil, Facing.DOWN); addAttach(Blocks.anvil, Facing.DOWN);

View file

@ -350,6 +350,7 @@ public abstract class Converter {
mapTile(TileEntityComparator.class, "Comparator", "comparator"); mapTile(TileEntityComparator.class, "Comparator", "comparator");
mapTile(TileEntityBanner.class, "Banner", "banner"); mapTile(TileEntityBanner.class, "Banner", "banner");
/*
mapBlock(Blocks.stone.getState(), 1); mapBlock(Blocks.stone.getState(), 1);
mapBlock(Blocks.rock.getState().withProperty(BlockRock.SMOOTH, false), 1, 1); mapBlock(Blocks.rock.getState().withProperty(BlockRock.SMOOTH, false), 1, 1);
mapBlock(Blocks.rock.getState().withProperty(BlockRock.SMOOTH, true), 1, 2); mapBlock(Blocks.rock.getState().withProperty(BlockRock.SMOOTH, true), 1, 2);
@ -859,6 +860,7 @@ public abstract class Converter {
} }
}, 252); }, 252);
mapBlock(Blocks.obsidian, 255); mapBlock(Blocks.obsidian, 255);
*/
} }
private static Object read(DataInput input, byte id) throws IOException { private static Object read(DataInput input, byte id) throws IOException {