diff --git a/README.md b/README.md new file mode 100644 index 000000000..237429b8a --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +It's a Minecraft Mod! + +For more information, visit the main Minecraft Forum Thread at http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/wip-mods/2374910-actually-additions-a-bunch-of-awesome-gadgets \ No newline at end of file diff --git a/build.gradle b/build.gradle index 40278755d..b848ebb1a 100644 --- a/build.gradle +++ b/build.gradle @@ -17,7 +17,7 @@ buildscript { apply plugin: 'forge' -version = "1.7.10-0.0.1.1" +version = "1.7.10-0.0.1.3" group = "ellpeck.actuallyadditions" archivesBaseName = "ActuallyAdditions" diff --git a/src/main/java/ellpeck/actuallyadditions/blocks/BlockCompost.java b/src/main/java/ellpeck/actuallyadditions/blocks/BlockCompost.java index df63a3bbd..be50b1d3f 100644 --- a/src/main/java/ellpeck/actuallyadditions/blocks/BlockCompost.java +++ b/src/main/java/ellpeck/actuallyadditions/blocks/BlockCompost.java @@ -4,7 +4,6 @@ import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ellpeck.actuallyadditions.achievement.InitAchievements; -import ellpeck.actuallyadditions.creative.CreativeTab; import ellpeck.actuallyadditions.items.ItemFertilizer; import ellpeck.actuallyadditions.items.ItemMisc; import ellpeck.actuallyadditions.items.metalists.TheMiscItems; @@ -32,8 +31,6 @@ public class BlockCompost extends BlockContainerBase implements IName{ public BlockCompost(){ super(Material.wood); - this.setCreativeTab(CreativeTab.instance); - this.setBlockName(Util.setUnlocalizedName(this)); this.setHarvestLevel("axe", 0); this.setHardness(1.0F); this.setStepSound(soundTypeWood); diff --git a/src/main/java/ellpeck/actuallyadditions/blocks/BlockFeeder.java b/src/main/java/ellpeck/actuallyadditions/blocks/BlockFeeder.java index 6b2f0e931..d7d7b8317 100644 --- a/src/main/java/ellpeck/actuallyadditions/blocks/BlockFeeder.java +++ b/src/main/java/ellpeck/actuallyadditions/blocks/BlockFeeder.java @@ -3,7 +3,6 @@ package ellpeck.actuallyadditions.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ellpeck.actuallyadditions.ActuallyAdditions; -import ellpeck.actuallyadditions.creative.CreativeTab; import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.tile.TileEntityFeeder; import ellpeck.actuallyadditions.util.IName; @@ -28,8 +27,6 @@ public class BlockFeeder extends BlockContainerBase implements IName{ public BlockFeeder(){ super(Material.wood); - this.setBlockName(Util.setUnlocalizedName(this)); - this.setCreativeTab(CreativeTab.instance); this.setHarvestLevel("axe", 0); this.setHardness(1.0F); this.setStepSound(soundTypeWood); diff --git a/src/main/java/ellpeck/actuallyadditions/blocks/BlockFurnaceDouble.java b/src/main/java/ellpeck/actuallyadditions/blocks/BlockFurnaceDouble.java index befc5764b..650ff795f 100644 --- a/src/main/java/ellpeck/actuallyadditions/blocks/BlockFurnaceDouble.java +++ b/src/main/java/ellpeck/actuallyadditions/blocks/BlockFurnaceDouble.java @@ -3,7 +3,6 @@ package ellpeck.actuallyadditions.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ellpeck.actuallyadditions.ActuallyAdditions; -import ellpeck.actuallyadditions.creative.CreativeTab; import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.tile.TileEntityFurnaceDouble; import ellpeck.actuallyadditions.util.IName; @@ -33,9 +32,7 @@ public class BlockFurnaceDouble extends BlockContainerBase implements IName{ private IIcon frontIcon; public BlockFurnaceDouble(){ - super(Material.wood); - this.setBlockName(Util.setUnlocalizedName(this)); - this.setCreativeTab(CreativeTab.instance); + super(Material.rock); this.setHarvestLevel("pickaxe", 0); this.setHardness(1.0F); this.setStepSound(soundTypeStone); diff --git a/src/main/java/ellpeck/actuallyadditions/blocks/BlockGiantChest.java b/src/main/java/ellpeck/actuallyadditions/blocks/BlockGiantChest.java index 57bf5e808..79e36dcb2 100644 --- a/src/main/java/ellpeck/actuallyadditions/blocks/BlockGiantChest.java +++ b/src/main/java/ellpeck/actuallyadditions/blocks/BlockGiantChest.java @@ -3,7 +3,6 @@ package ellpeck.actuallyadditions.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ellpeck.actuallyadditions.ActuallyAdditions; -import ellpeck.actuallyadditions.creative.CreativeTab; import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.tile.TileEntityGiantChest; import ellpeck.actuallyadditions.util.IName; @@ -28,8 +27,6 @@ public class BlockGiantChest extends BlockContainerBase implements IName{ public BlockGiantChest(){ super(Material.wood); - this.setBlockName(Util.setUnlocalizedName(this)); - this.setCreativeTab(CreativeTab.instance); this.setHarvestLevel("axe", 0); this.setHardness(1.0F); this.setStepSound(soundTypeWood); diff --git a/src/main/java/ellpeck/actuallyadditions/blocks/BlockGrinder.java b/src/main/java/ellpeck/actuallyadditions/blocks/BlockGrinder.java index a82dd3579..96be5e889 100644 --- a/src/main/java/ellpeck/actuallyadditions/blocks/BlockGrinder.java +++ b/src/main/java/ellpeck/actuallyadditions/blocks/BlockGrinder.java @@ -3,7 +3,6 @@ package ellpeck.actuallyadditions.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ellpeck.actuallyadditions.ActuallyAdditions; -import ellpeck.actuallyadditions.creative.CreativeTab; import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.tile.TileEntityGrinder; import ellpeck.actuallyadditions.util.IName; @@ -33,10 +32,8 @@ public class BlockGrinder extends BlockContainerBase implements IName{ private boolean isDouble; public BlockGrinder(boolean isDouble){ - super(Material.wood); + super(Material.rock); this.isDouble = isDouble; - this.setBlockName(Util.setUnlocalizedName(this)); - this.setCreativeTab(CreativeTab.instance); this.setHarvestLevel("pickaxe", 0); this.setHardness(1.0F); this.setStepSound(soundTypeStone); diff --git a/src/main/java/ellpeck/actuallyadditions/blocks/BlockMisc.java b/src/main/java/ellpeck/actuallyadditions/blocks/BlockMisc.java index 333eef1d3..157baf1b2 100644 --- a/src/main/java/ellpeck/actuallyadditions/blocks/BlockMisc.java +++ b/src/main/java/ellpeck/actuallyadditions/blocks/BlockMisc.java @@ -3,7 +3,6 @@ package ellpeck.actuallyadditions.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ellpeck.actuallyadditions.blocks.metalists.TheMiscBlocks; -import ellpeck.actuallyadditions.creative.CreativeTab; import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.Util; import net.minecraft.block.Block; @@ -27,8 +26,6 @@ public class BlockMisc extends Block implements IName{ public BlockMisc(){ super(Material.rock); - this.setBlockName(Util.setUnlocalizedName(this)); - this.setCreativeTab(CreativeTab.instance); } @SuppressWarnings("all") diff --git a/src/main/java/ellpeck/actuallyadditions/config/ConfigValues.java b/src/main/java/ellpeck/actuallyadditions/config/ConfigValues.java index 18456226d..11a156d98 100644 --- a/src/main/java/ellpeck/actuallyadditions/config/ConfigValues.java +++ b/src/main/java/ellpeck/actuallyadditions/config/ConfigValues.java @@ -51,17 +51,29 @@ public class ConfigValues{ public static boolean enablePearlShardDrop; public static boolean enableEmeraldShardDrop; + public static boolean generateBlackQuartz; + public static int blackQuartzBaseAmount; + public static int blackQuartzAdditionalChance; + public static int blackQuartzChance; + public static int blackQuartzMinHeight; + public static int blackQuartzMaxHeight; + public static void defineConfigValues(Configuration config){ for(int i = 0; i < enabledFoodRecipes.length; i++){ enabledFoodRecipes[i] = config.getBoolean(TheFoods.values()[i].name, ConfigurationHandler.CATEGORY_FOOD_CRAFTING, true, "If the Crafting Recipe for " + TheFoods.values()[i].name + " is Enabled"); } for(int i = 0; i < enabledMiscRecipes.length; i++){ - if(i != TheMiscItems.QUARTZ.ordinal()){ - enabledMiscRecipes[i] = config.getBoolean(TheMiscItems.values()[i].name, ConfigurationHandler.CATEGORY_MISC_CRAFTING, true, "If the Crafting Recipe for " + TheMiscItems.values()[i].name + " is Enabled"); - } + enabledMiscRecipes[i] = config.getBoolean(TheMiscItems.values()[i].name, ConfigurationHandler.CATEGORY_MISC_CRAFTING, true, "If the Crafting Recipe for " + TheMiscItems.values()[i].name + " is Enabled"); } + generateBlackQuartz = config.getBoolean("Black Quartz", ConfigurationHandler.CATEGORY_WORLD_GEN, true, "If the Black Quartz generates in the world"); + blackQuartzBaseAmount = config.getInt("Black Quartz Amount", ConfigurationHandler.CATEGORY_WORLD_GEN, 3, 1, 50, "How big a Black Quartz Vein is at least"); + blackQuartzAdditionalChance = config.getInt("Black Quartz Additional Chance", ConfigurationHandler.CATEGORY_WORLD_GEN, 3, 0, 50, "How much bigger than the Base Amount a Black Quartz Vein can get"); + blackQuartzChance = config.getInt("Black Quartz Chance", ConfigurationHandler.CATEGORY_WORLD_GEN, 25, 1, 150, "How often the Black Quartz tries to generate"); + blackQuartzMinHeight = config.getInt("Black Quartz Min Height", ConfigurationHandler.CATEGORY_WORLD_GEN, 0, 0, 256, "How high the Black Quartz starts to generate"); + blackQuartzMaxHeight = config.getInt("Black Quartz Max Height", ConfigurationHandler.CATEGORY_WORLD_GEN, 25, 0, 256, "How high the Black Quartz stops to generate at"); + //TODO CHANGE TO BE TRUE BY DEFAULT enableExperienceDrop = config.getBoolean("Solidified Experience", ConfigurationHandler.CATEGORY_MOB_DROPS, false, "If the Solidified Experience drops from Mobs"); enableBloodDrop = config.getBoolean("Blood Fragments", ConfigurationHandler.CATEGORY_MOB_DROPS, false, "If the Blood Fragments drop from Mobs"); diff --git a/src/main/java/ellpeck/actuallyadditions/config/ConfigurationHandler.java b/src/main/java/ellpeck/actuallyadditions/config/ConfigurationHandler.java index 8a3390135..076c7f6dd 100644 --- a/src/main/java/ellpeck/actuallyadditions/config/ConfigurationHandler.java +++ b/src/main/java/ellpeck/actuallyadditions/config/ConfigurationHandler.java @@ -14,6 +14,7 @@ public class ConfigurationHandler{ public static final String CATEGORY_TOOL_VALUES = "tool values"; public static final String CATEGORY_MACHINE_VALUES = "machine values"; public static final String CATEGORY_MOB_DROPS = "mob drops"; + public static final String CATEGORY_WORLD_GEN = "world gen"; public static void init(File configFile){ diff --git a/src/main/java/ellpeck/actuallyadditions/crafting/GrinderCrafting.java b/src/main/java/ellpeck/actuallyadditions/crafting/GrinderCrafting.java index 66864de28..f302d54a2 100644 --- a/src/main/java/ellpeck/actuallyadditions/crafting/GrinderCrafting.java +++ b/src/main/java/ellpeck/actuallyadditions/crafting/GrinderCrafting.java @@ -28,25 +28,31 @@ public class GrinderCrafting{ for(String name : names){ if(name.contains("ore")){ String nameOfOre = name.substring(3); - ArrayList allDusts = OreDictionary.getOres("dust" + nameOfOre); + ArrayList allDusts; + + if(nameOfOre.contains("Nether")) allDusts = OreDictionary.getOres("dust" + nameOfOre.substring(6)); + else allDusts = OreDictionary.getOres("dust" + nameOfOre); + if(allDusts != null && allDusts.size() > 0){ - ItemStack output = allDusts.get(0); - output.stackSize = 2; ArrayList allOresOfName = OreDictionary.getOres(name); if(allOresOfName != null && allOresOfName.size() > 0){ - for(ItemStack input : allOresOfName){ - if(GrinderRecipes.instance().getOutput(input, false) == null){ + for(ItemStack output : allDusts){ + output.stackSize = 2; + for(ItemStack input : allOresOfName){ + if(GrinderRecipes.instance().getOutput(input, false) == null){ - //Special Second Outputs - if(name.equals("oreNickel")) GrinderRecipes.instance().registerRecipe(input, output, OreDictionary.getOres("dustPlatinum").get(0), 10); + //Special Second Outputs + if(name.equals("oreNickel")) + GrinderRecipes.instance().registerRecipe(input, output, OreDictionary.getOres("dustPlatinum").get(0), 10); - else GrinderRecipes.instance().registerRecipe(input, output, null, 0); + else GrinderRecipes.instance().registerRecipe(input, output, null, 0); + } } } } - else Util.SPRS_LOGGER.log(Level.ERROR, "Couldn't register Crusher Recipe! Didn't find Items registered as '" + name + "'! This shouldn't happen as there is something registered as '" + name + "' that doesn't exist!"); + else Util.AA_LOGGER.log(Level.ERROR, "Couldn't register Crusher Recipe! Didn't find Items registered as '" + name + "'! This shouldn't happen as there is something registered as '" + name + "' that doesn't exist!"); } - else Util.SPRS_LOGGER.log(Level.WARN, "Couldn't register Crusher Recipe! An Item with OreDictionary Registry 'dust" + nameOfOre + "' doesn't exist! This is not an Error, just a bit sad :("); + else Util.AA_LOGGER.log(Level.WARN, "Couldn't register Crusher Recipe! An Item with OreDictionary Registry 'dust" + nameOfOre + "' doesn't exist! It should correspond to '" + name + "'! This is not an Error, just a bit sad :("); } } diff --git a/src/main/java/ellpeck/actuallyadditions/crafting/ItemCrafting.java b/src/main/java/ellpeck/actuallyadditions/crafting/ItemCrafting.java index 5d27361b5..07a6d95df 100644 --- a/src/main/java/ellpeck/actuallyadditions/crafting/ItemCrafting.java +++ b/src/main/java/ellpeck/actuallyadditions/crafting/ItemCrafting.java @@ -1,6 +1,8 @@ package ellpeck.actuallyadditions.crafting; import cpw.mods.fml.common.registry.GameRegistry; +import ellpeck.actuallyadditions.blocks.InitBlocks; +import ellpeck.actuallyadditions.blocks.metalists.TheMiscBlocks; import ellpeck.actuallyadditions.config.ConfigValues; import ellpeck.actuallyadditions.items.InitItems; import ellpeck.actuallyadditions.items.metalists.TheDusts; @@ -16,6 +18,11 @@ public class ItemCrafting{ public static void init(){ + //Quartz + if(ConfigValues.enabledMiscRecipes[TheMiscItems.QUARTZ.ordinal()]) + GameRegistry.addSmelting(new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.ORE_QUARTZ.ordinal()), + new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()), 1F); + //Knife if(ConfigValues.enableKnifeRecipe) GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemKnife), @@ -34,16 +41,23 @@ public class ItemCrafting{ initMashedFoodRecipes(); - GameRegistry.addSmelting(new ItemStack(InitItems.itemMisc, 1, TheDusts.IRON.ordinal()), + //Ingots from Dusts + GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.IRON.ordinal()), new ItemStack(Items.iron_ingot), 1F); - GameRegistry.addSmelting(new ItemStack(InitItems.itemMisc, 1, TheDusts.GOLD.ordinal()), + GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.GOLD.ordinal()), new ItemStack(Items.gold_ingot), 1F); - GameRegistry.addSmelting(new ItemStack(InitItems.itemMisc, 1, TheDusts.DIAMOND.ordinal()), + GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.DIAMOND.ordinal()), new ItemStack(Items.diamond), 1F); - GameRegistry.addSmelting(new ItemStack(InitItems.itemMisc, 1, TheDusts.EMERALD.ordinal()), + GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.EMERALD.ordinal()), new ItemStack(Items.emerald), 1F); - GameRegistry.addSmelting(new ItemStack(InitItems.itemMisc, 1, TheDusts.LAPIS.ordinal()), + GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.LAPIS.ordinal()), new ItemStack(Items.dye, 1, 4), 1F); + GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.QUARTZ_BLACK.ordinal()), + new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal()), 1F); + GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.QUARTZ.ordinal()), + new ItemStack(Items.quartz), 1F); + GameRegistry.addSmelting(new ItemStack(InitItems.itemDust, 1, TheDusts.COAL.ordinal()), + new ItemStack(Items.coal), 1F); } @@ -51,7 +65,7 @@ public class ItemCrafting{ for(Object nextIterator : Item.itemRegistry){ if(nextIterator instanceof ItemFood){ ItemStack ingredient = new ItemStack((Item)nextIterator, 1, Util.WILDCARD); - GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemMisc, 4, TheMiscItems.MASHED_FOOD.ordinal()), ingredient, ingredient, ingredient, ingredient, new ItemStack(InitItems.itemKnife, 1, Util.WILDCARD)); + GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemMisc, 8, TheMiscItems.MASHED_FOOD.ordinal()), ingredient, ingredient, ingredient, ingredient, new ItemStack(InitItems.itemKnife, 1, Util.WILDCARD)); } } } diff --git a/src/main/java/ellpeck/actuallyadditions/creative/CreativeTab.java b/src/main/java/ellpeck/actuallyadditions/creative/CreativeTab.java index c5479dd91..73f59316c 100644 --- a/src/main/java/ellpeck/actuallyadditions/creative/CreativeTab.java +++ b/src/main/java/ellpeck/actuallyadditions/creative/CreativeTab.java @@ -1,27 +1,76 @@ package ellpeck.actuallyadditions.creative; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ellpeck.actuallyadditions.blocks.InitBlocks; import ellpeck.actuallyadditions.items.InitItems; -import ellpeck.actuallyadditions.items.metalists.TheFoods; import ellpeck.actuallyadditions.util.Util; +import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import java.util.List; + public class CreativeTab extends CreativeTabs{ public static CreativeTab instance = new CreativeTab(); + private List list; public CreativeTab(){ super(Util.MOD_ID_LOWER); } + @Override + @SideOnly(Side.CLIENT) + public void displayAllReleventItems(List list){ + this.list = list; + + this.addBlock(InitBlocks.blockGrinder); + this.addBlock(InitBlocks.blockGrinderDouble); + this.addBlock(InitBlocks.blockFurnaceDouble); + + this.addBlock(InitBlocks.blockMisc); + this.addBlock(InitBlocks.blockFeeder); + this.addBlock(InitBlocks.blockCompost); + this.addBlock(InitBlocks.blockGiantChest); + + this.addItem(InitItems.itemMisc); + this.addItem(InitItems.itemFertilizer); + this.addItem(InitItems.itemFoods); + this.addItem(InitItems.itemKnife); + this.addItem(InitItems.itemCrafterOnAStick); + this.addItem(InitItems.itemDust); + this.addItem(InitItems.itemSpecialDrop); + + this.addItem(InitItems.itemPickaxeEmerald); + this.addItem(InitItems.itemSwordEmerald); + this.addItem(InitItems.itemAxeEmerald); + this.addItem(InitItems.itemShovelEmerald); + this.addItem(InitItems.itemHoeEmerald); + + this.addItem(InitItems.itemPickaxeObsidian); + this.addItem(InitItems.itemSwordObsidian); + this.addItem(InitItems.itemAxeObsidian); + this.addItem(InitItems.itemShovelObsidian); + this.addItem(InitItems.itemHoeObsidian); + } + @Override public Item getTabIconItem(){ - return InitItems.itemFoods; + return Item.getItemFromBlock(InitBlocks.blockGrinderDouble); } @Override public ItemStack getIconItemStack(){ - return new ItemStack(this.getTabIconItem(), 1, TheFoods.SUBMARINE_SANDWICH.ordinal()); + return new ItemStack(this.getTabIconItem()); + } + + private void addItem(Item item){ + item.getSubItems(item, this, list); + } + + private void addBlock(Block block){ + block.getSubBlocks(new ItemStack(block).getItem(), this, list); } } diff --git a/src/main/java/ellpeck/actuallyadditions/event/KilledEvent.java b/src/main/java/ellpeck/actuallyadditions/event/KilledEvent.java index 6771581b5..d6f1c69ed 100644 --- a/src/main/java/ellpeck/actuallyadditions/event/KilledEvent.java +++ b/src/main/java/ellpeck/actuallyadditions/event/KilledEvent.java @@ -18,7 +18,7 @@ public class KilledEvent{ if(event.source.getEntity() instanceof EntityPlayer){ for(int i = 0; i < TheSpecialDrops.values().length; i++){ TheSpecialDrops theDrop = TheSpecialDrops.values()[i]; - if(theDrop.canDrop && event.entityLiving.getClass() == theDrop.dropFrom || (event.entityLiving instanceof EntityCreature && theDrop.dropFrom == EntityCreature.class) || (event.entityLiving instanceof EntityMob && theDrop.dropFrom == EntityMob.class) || (event.entityLiving instanceof EntityAnimal && theDrop.dropFrom == EntityAnimal.class)){ + if(theDrop.canDrop && (event.entityLiving.getClass() == theDrop.dropFrom || (event.entityLiving instanceof EntityCreature && theDrop.dropFrom == EntityCreature.class) || (event.entityLiving instanceof EntityMob && theDrop.dropFrom == EntityMob.class) || (event.entityLiving instanceof EntityAnimal && theDrop.dropFrom == EntityAnimal.class))){ if(new Random().nextInt(100) + 1 <= theDrop.chance){ event.entityLiving.entityDropItem(new ItemStack(InitItems.itemSpecialDrop, new Random().nextInt(theDrop.maxAmount) + 1, theDrop.ordinal()), 0); } diff --git a/src/main/java/ellpeck/actuallyadditions/gen/OreGen.java b/src/main/java/ellpeck/actuallyadditions/gen/OreGen.java index 0c6cc3258..cbf1c6bdd 100644 --- a/src/main/java/ellpeck/actuallyadditions/gen/OreGen.java +++ b/src/main/java/ellpeck/actuallyadditions/gen/OreGen.java @@ -2,15 +2,19 @@ package ellpeck.actuallyadditions.gen; import cpw.mods.fml.common.IWorldGenerator; import cpw.mods.fml.common.registry.GameRegistry; +import ellpeck.actuallyadditions.blocks.InitBlocks; +import ellpeck.actuallyadditions.blocks.metalists.TheMiscBlocks; +import ellpeck.actuallyadditions.config.ConfigValues; import ellpeck.actuallyadditions.util.Util; import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.feature.WorldGenMinable; +import org.apache.logging.log4j.Level; import java.util.Random; -@SuppressWarnings("unused") public class OreGen implements IWorldGenerator{ @Override @@ -31,7 +35,7 @@ public class OreGen implements IWorldGenerator{ } private void generateSurface(World world, Random random, int x, int z){ - + if(ConfigValues.generateBlackQuartz) this.addOreSpawn(InitBlocks.blockMisc, TheMiscBlocks.ORE_QUARTZ.ordinal(), Blocks.stone, world, random, x, z, this.getRandom(ConfigValues.blackQuartzBaseAmount, ConfigValues.blackQuartzAdditionalChance, random), ConfigValues.blackQuartzChance, ConfigValues.blackQuartzMinHeight, ConfigValues.blackQuartzMaxHeight); } @SuppressWarnings("unused") @@ -39,14 +43,21 @@ public class OreGen implements IWorldGenerator{ } - public void addOreSpawn(Block block, int meta, int x, int y, int z, Block blockIn, World world, Random random, int blockXPos, int blockZPos, int maxVeinSize, int chancesToSpawn, int minY, int maxY){ - int yDiff = maxY - minY; - for(int i = 0; i < chancesToSpawn; i++){ - int posX = blockXPos + random.nextInt(16); - int posY = minY + random.nextInt(yDiff); - int posZ = blockZPos + random.nextInt(16); - (new WorldGenMinable(block, meta, maxVeinSize, blockIn)).generate(world, random, posX, posY, posZ); + public void addOreSpawn(Block block, int meta, Block blockIn, World world, Random random, int blockXPos, int blockZPos, int maxVeinSize, int chancesToSpawn, int minY, int maxY){ + if(maxY > minY){ + int yDiff = maxY - minY; + for(int i = 0; i < chancesToSpawn; i++){ + int posX = blockXPos + random.nextInt(16); + int posY = minY + random.nextInt(yDiff); + int posZ = blockZPos + random.nextInt(16); + new WorldGenMinable(block, meta, maxVeinSize, blockIn).generate(world, random, posX, posY, posZ); + } } + else Util.AA_LOGGER.log(Level.FATAL, "Couldn't generate '" + block.getUnlocalizedName() + "' into the world because the Min Y coordinate is bigger than the Max! This is definitely a Config Error! Check the Files!"); + } + + public int getRandom(int base, int extra, Random rand){ + return extra > 0 ? base+rand.nextInt(extra+1) : base; } public static void init(){ diff --git a/src/main/java/ellpeck/actuallyadditions/inventory/ContainerCrafter.java b/src/main/java/ellpeck/actuallyadditions/inventory/ContainerCrafter.java index bc6cba5c8..874aee73d 100644 --- a/src/main/java/ellpeck/actuallyadditions/inventory/ContainerCrafter.java +++ b/src/main/java/ellpeck/actuallyadditions/inventory/ContainerCrafter.java @@ -45,7 +45,7 @@ public class ContainerCrafter extends Container{ } @Override - public void onCraftMatrixChanged(IInventory p_75130_1_){ + public void onCraftMatrixChanged(IInventory inv){ this.craftResult.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(this.craftMatrix, this.world)); } diff --git a/src/main/java/ellpeck/actuallyadditions/items/ItemCrafterOnAStick.java b/src/main/java/ellpeck/actuallyadditions/items/ItemCrafterOnAStick.java index 81f173f44..ca38f5c13 100644 --- a/src/main/java/ellpeck/actuallyadditions/items/ItemCrafterOnAStick.java +++ b/src/main/java/ellpeck/actuallyadditions/items/ItemCrafterOnAStick.java @@ -3,7 +3,6 @@ package ellpeck.actuallyadditions.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ellpeck.actuallyadditions.ActuallyAdditions; -import ellpeck.actuallyadditions.creative.CreativeTab; import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.Util; @@ -20,8 +19,6 @@ import java.util.List; public class ItemCrafterOnAStick extends Item implements IName{ public ItemCrafterOnAStick(){ - this.setUnlocalizedName(Util.setUnlocalizedName(this)); - this.setCreativeTab(CreativeTab.instance); this.setMaxStackSize(1); } diff --git a/src/main/java/ellpeck/actuallyadditions/items/ItemDust.java b/src/main/java/ellpeck/actuallyadditions/items/ItemDust.java index 10101493d..fd59ecfa1 100644 --- a/src/main/java/ellpeck/actuallyadditions/items/ItemDust.java +++ b/src/main/java/ellpeck/actuallyadditions/items/ItemDust.java @@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import ellpeck.actuallyadditions.creative.CreativeTab; import ellpeck.actuallyadditions.items.metalists.TheDusts; import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.Util; @@ -22,9 +21,7 @@ public class ItemDust extends Item implements IName{ public static final TheDusts[] allDusts = TheDusts.values(); public ItemDust(){ - this.setUnlocalizedName(Util.setUnlocalizedName(this)); this.setHasSubtypes(true); - this.setCreativeTab(CreativeTab.instance); } @Override diff --git a/src/main/java/ellpeck/actuallyadditions/items/ItemFertilizer.java b/src/main/java/ellpeck/actuallyadditions/items/ItemFertilizer.java index 30815ca2d..295349c87 100644 --- a/src/main/java/ellpeck/actuallyadditions/items/ItemFertilizer.java +++ b/src/main/java/ellpeck/actuallyadditions/items/ItemFertilizer.java @@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import ellpeck.actuallyadditions.creative.CreativeTab; import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.Util; import net.minecraft.client.renderer.texture.IIconRegister; @@ -18,11 +17,6 @@ import java.util.List; public class ItemFertilizer extends Item implements IName{ - public ItemFertilizer(){ - this.setUnlocalizedName(Util.setUnlocalizedName(this)); - this.setCreativeTab(CreativeTab.instance); - } - @Override public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10){ if(ItemDye.applyBonemeal(stack, world, x, y, z, player)){ diff --git a/src/main/java/ellpeck/actuallyadditions/items/ItemFoods.java b/src/main/java/ellpeck/actuallyadditions/items/ItemFoods.java index 31bb04bc7..ecbd8b636 100644 --- a/src/main/java/ellpeck/actuallyadditions/items/ItemFoods.java +++ b/src/main/java/ellpeck/actuallyadditions/items/ItemFoods.java @@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import ellpeck.actuallyadditions.creative.CreativeTab; import ellpeck.actuallyadditions.items.metalists.TheFoods; import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.Util; @@ -24,10 +23,8 @@ public class ItemFoods extends ItemFood implements IName{ public ItemFoods(){ super(0, 0.0F, false); - this.setUnlocalizedName(Util.setUnlocalizedName(this)); this.setHasSubtypes(true); this.setMaxDamage(0); - this.setCreativeTab(CreativeTab.instance); this.setAlwaysEdible(); TheFoods.setReturnItems(); } diff --git a/src/main/java/ellpeck/actuallyadditions/items/ItemKnife.java b/src/main/java/ellpeck/actuallyadditions/items/ItemKnife.java index ed914bbea..cb8c61903 100644 --- a/src/main/java/ellpeck/actuallyadditions/items/ItemKnife.java +++ b/src/main/java/ellpeck/actuallyadditions/items/ItemKnife.java @@ -3,7 +3,6 @@ package ellpeck.actuallyadditions.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ellpeck.actuallyadditions.config.ConfigValues; -import ellpeck.actuallyadditions.creative.CreativeTab; import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.Util; import net.minecraft.client.renderer.texture.IIconRegister; @@ -18,9 +17,7 @@ import java.util.List; public class ItemKnife extends Item implements IName{ public ItemKnife(){ - this.setUnlocalizedName(Util.setUnlocalizedName(this)); this.setMaxDamage(ConfigValues.itemKnifeMaxDamage); - this.setCreativeTab(CreativeTab.instance); this.setMaxStackSize(1); this.setContainerItem(this); } diff --git a/src/main/java/ellpeck/actuallyadditions/items/ItemMisc.java b/src/main/java/ellpeck/actuallyadditions/items/ItemMisc.java index d63824eb9..85582a90f 100644 --- a/src/main/java/ellpeck/actuallyadditions/items/ItemMisc.java +++ b/src/main/java/ellpeck/actuallyadditions/items/ItemMisc.java @@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import ellpeck.actuallyadditions.creative.CreativeTab; import ellpeck.actuallyadditions.items.metalists.TheMiscItems; import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.Util; @@ -23,9 +22,7 @@ public class ItemMisc extends Item implements IName{ public IIcon[] textures = new IIcon[allMiscItems.length]; public ItemMisc(){ - this.setUnlocalizedName(Util.setUnlocalizedName(this)); this.setHasSubtypes(true); - this.setCreativeTab(CreativeTab.instance); } @Override diff --git a/src/main/java/ellpeck/actuallyadditions/items/ItemSpecialDrop.java b/src/main/java/ellpeck/actuallyadditions/items/ItemSpecialDrop.java index 2945a8408..18749da0c 100644 --- a/src/main/java/ellpeck/actuallyadditions/items/ItemSpecialDrop.java +++ b/src/main/java/ellpeck/actuallyadditions/items/ItemSpecialDrop.java @@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import ellpeck.actuallyadditions.creative.CreativeTab; import ellpeck.actuallyadditions.items.metalists.TheSpecialDrops; import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.Util; @@ -23,9 +22,7 @@ public class ItemSpecialDrop extends Item implements IName{ public IIcon[] textures = new IIcon[allDrops.length]; public ItemSpecialDrop(){ - this.setUnlocalizedName(Util.setUnlocalizedName(this)); this.setHasSubtypes(true); - this.setCreativeTab(CreativeTab.instance); } @Override diff --git a/src/main/java/ellpeck/actuallyadditions/items/metalists/TheDusts.java b/src/main/java/ellpeck/actuallyadditions/items/metalists/TheDusts.java index 5fd8dd657..9a87b5d71 100644 --- a/src/main/java/ellpeck/actuallyadditions/items/metalists/TheDusts.java +++ b/src/main/java/ellpeck/actuallyadditions/items/metalists/TheDusts.java @@ -1,6 +1,7 @@ package ellpeck.actuallyadditions.items.metalists; import ellpeck.actuallyadditions.util.IName; +import ellpeck.actuallyadditions.util.Util; import net.minecraft.item.EnumRarity; public enum TheDusts implements IName{ @@ -9,7 +10,10 @@ public enum TheDusts implements IName{ GOLD("Gold", 14335744, EnumRarity.uncommon), DIAMOND("Diamond", 292003, EnumRarity.rare), EMERALD("Emerald", 4319527, EnumRarity.epic), - LAPIS("Lapis", 1849791, EnumRarity.uncommon); + LAPIS("Lapis", 1849791, EnumRarity.uncommon), + QUARTZ("Quartz", Util.DECIMAL_COLOR_WHITE, EnumRarity.uncommon), + COAL("Coal", 0, EnumRarity.uncommon), + QUARTZ_BLACK("QuartzBlack", 18, EnumRarity.rare); public final String name; public final int color; diff --git a/src/main/java/ellpeck/actuallyadditions/items/tools/ItemAxeAA.java b/src/main/java/ellpeck/actuallyadditions/items/tools/ItemAxeAA.java index c1138390b..6b8a93b97 100644 --- a/src/main/java/ellpeck/actuallyadditions/items/tools/ItemAxeAA.java +++ b/src/main/java/ellpeck/actuallyadditions/items/tools/ItemAxeAA.java @@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items.tools; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import ellpeck.actuallyadditions.creative.CreativeTab; import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.Util; import net.minecraft.client.renderer.texture.IIconRegister; @@ -25,7 +24,6 @@ public class ItemAxeAA extends ItemAxe implements IName{ this.name = unlocalizedName; this.rarity = rarity; this.setUnlocalizedName(Util.setUnlocalizedName(this)); - this.setCreativeTab(CreativeTab.instance); } @Override diff --git a/src/main/java/ellpeck/actuallyadditions/items/tools/ItemHoeAA.java b/src/main/java/ellpeck/actuallyadditions/items/tools/ItemHoeAA.java index 45aa831ed..34a77e2c0 100644 --- a/src/main/java/ellpeck/actuallyadditions/items/tools/ItemHoeAA.java +++ b/src/main/java/ellpeck/actuallyadditions/items/tools/ItemHoeAA.java @@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items.tools; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import ellpeck.actuallyadditions.creative.CreativeTab; import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.Util; import net.minecraft.client.renderer.texture.IIconRegister; @@ -25,7 +24,6 @@ public class ItemHoeAA extends ItemHoe implements IName{ this.name = unlocalizedName; this.rarity = rarity; this.setUnlocalizedName(Util.setUnlocalizedName(this)); - this.setCreativeTab(CreativeTab.instance); } @Override diff --git a/src/main/java/ellpeck/actuallyadditions/items/tools/ItemPickaxeAA.java b/src/main/java/ellpeck/actuallyadditions/items/tools/ItemPickaxeAA.java index 93e654e77..e7851b6ea 100644 --- a/src/main/java/ellpeck/actuallyadditions/items/tools/ItemPickaxeAA.java +++ b/src/main/java/ellpeck/actuallyadditions/items/tools/ItemPickaxeAA.java @@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items.tools; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import ellpeck.actuallyadditions.creative.CreativeTab; import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.Util; import net.minecraft.client.renderer.texture.IIconRegister; @@ -25,7 +24,6 @@ public class ItemPickaxeAA extends ItemPickaxe implements IName{ this.name = unlocalizedName; this.rarity = rarity; this.setUnlocalizedName(Util.setUnlocalizedName(this)); - this.setCreativeTab(CreativeTab.instance); } @Override diff --git a/src/main/java/ellpeck/actuallyadditions/items/tools/ItemShovelAA.java b/src/main/java/ellpeck/actuallyadditions/items/tools/ItemShovelAA.java index 4be088285..6eada4854 100644 --- a/src/main/java/ellpeck/actuallyadditions/items/tools/ItemShovelAA.java +++ b/src/main/java/ellpeck/actuallyadditions/items/tools/ItemShovelAA.java @@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items.tools; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import ellpeck.actuallyadditions.creative.CreativeTab; import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.Util; import net.minecraft.client.renderer.texture.IIconRegister; @@ -25,7 +24,6 @@ public class ItemShovelAA extends ItemSpade implements IName{ this.name = unlocalizedName; this.rarity = rarity; this.setUnlocalizedName(Util.setUnlocalizedName(this)); - this.setCreativeTab(CreativeTab.instance); } @Override diff --git a/src/main/java/ellpeck/actuallyadditions/items/tools/ItemSwordAA.java b/src/main/java/ellpeck/actuallyadditions/items/tools/ItemSwordAA.java index b4eb8dae9..45e73a38c 100644 --- a/src/main/java/ellpeck/actuallyadditions/items/tools/ItemSwordAA.java +++ b/src/main/java/ellpeck/actuallyadditions/items/tools/ItemSwordAA.java @@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items.tools; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import ellpeck.actuallyadditions.creative.CreativeTab; import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.Util; import net.minecraft.client.renderer.texture.IIconRegister; @@ -25,7 +24,6 @@ public class ItemSwordAA extends ItemSword implements IName{ this.name = unlocalizedName; this.rarity = rarity; this.setUnlocalizedName(Util.setUnlocalizedName(this)); - this.setCreativeTab(CreativeTab.instance); } @Override diff --git a/src/main/java/ellpeck/actuallyadditions/oredict/OreDictRegistry.java b/src/main/java/ellpeck/actuallyadditions/oredict/OreDictRegistry.java index d1d0604ef..f67eb5415 100644 --- a/src/main/java/ellpeck/actuallyadditions/oredict/OreDictRegistry.java +++ b/src/main/java/ellpeck/actuallyadditions/oredict/OreDictRegistry.java @@ -1,7 +1,10 @@ package ellpeck.actuallyadditions.oredict; +import ellpeck.actuallyadditions.blocks.InitBlocks; +import ellpeck.actuallyadditions.blocks.metalists.TheMiscBlocks; import ellpeck.actuallyadditions.items.InitItems; import ellpeck.actuallyadditions.items.metalists.TheDusts; +import ellpeck.actuallyadditions.items.metalists.TheMiscItems; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; @@ -13,5 +16,10 @@ public class OreDictRegistry{ OreDictionary.registerOre("dustGold", new ItemStack(InitItems.itemDust, 1, TheDusts.GOLD.ordinal())); OreDictionary.registerOre("dustEmerald", new ItemStack(InitItems.itemDust, 1, TheDusts.EMERALD.ordinal())); OreDictionary.registerOre("dustLapis", new ItemStack(InitItems.itemDust, 1, TheDusts.LAPIS.ordinal())); + OreDictionary.registerOre("dustCoal", new ItemStack(InitItems.itemDust, 1, TheDusts.COAL.ordinal())); + OreDictionary.registerOre("dustQuartz", new ItemStack(InitItems.itemDust, 1, TheDusts.QUARTZ.ordinal())); + OreDictionary.registerOre("dustQuartzBlack", new ItemStack(InitItems.itemDust, 1, TheDusts.QUARTZ_BLACK.ordinal())); + OreDictionary.registerOre("oreQuartzBlack", new ItemStack(InitBlocks.blockMisc, 1, TheMiscBlocks.ORE_QUARTZ.ordinal())); + OreDictionary.registerOre("itemQuartzBlack", new ItemStack(InitItems.itemMisc, 1, TheMiscItems.QUARTZ.ordinal())); } } diff --git a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityBase.java b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityBase.java index eff473777..d32b7bf8b 100644 --- a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityBase.java +++ b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityBase.java @@ -33,6 +33,7 @@ public class TileEntityBase extends TileEntity{ GameRegistry.registerTileEntity(TileEntityGiantChest.class, Util.MOD_ID_LOWER + ":tileEntityGiantChest"); GameRegistry.registerTileEntity(TileEntityGrinder.class, Util.MOD_ID_LOWER + ":tileEntityGrinder"); GameRegistry.registerTileEntity(TileEntityFurnaceDouble.class, Util.MOD_ID_LOWER + ":tileEntityFurnaceDouble"); + GameRegistry.registerTileEntity(TileEntityPackager.class, Util.MOD_ID_LOWER + ":tileEntityPackager"); } @Override diff --git a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityFeeder.java b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityFeeder.java index 8e21854d1..1f7e14cc4 100644 --- a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityFeeder.java +++ b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityFeeder.java @@ -34,9 +34,9 @@ public class TileEntityFeeder extends TileEntityInventoryBase{ List animals = worldObj.getEntitiesWithinAABB(EntityAnimal.class, AxisAlignedBB.getBoundingBox(this.xCoord - reach, this.yCoord - reach, this.zCoord - reach, this.xCoord + reach, this.yCoord + reach, this.zCoord + reach)); if(animals != null){ this.currentAnimalAmount = animals.size(); - if(this.currentAnimalAmount >= 2 && this.slots[0] != null){ + if(this.currentAnimalAmount >= 2){ if(this.currentAnimalAmount < this.animalThreshold){ - if(this.currentTimer >= this.timerGoal){ + if(this.currentTimer >= this.timerGoal && this.slots[0] != null){ this.currentTimer = 0; EntityAnimal randomAnimal = animals.get(new Random().nextInt(this.currentAnimalAmount)); if(!randomAnimal.isInLove() && randomAnimal.getGrowingAge() == 0 && randomAnimal.isBreedingItem(this.slots[0])){ diff --git a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityFurnaceDouble.java b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityFurnaceDouble.java index 190854889..3b019dfae 100644 --- a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityFurnaceDouble.java +++ b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityFurnaceDouble.java @@ -19,14 +19,13 @@ public class TileEntityFurnaceDouble extends TileEntityInventoryBase{ public int coalTime; public int coalTimeLeft; - public final int maxBurnTime; + public final int maxBurnTime = ConfigValues.furnaceDoubleSmeltTime; public int firstSmeltTime; public int secondSmeltTime; public TileEntityFurnaceDouble(){ super(5, "tileEntityFurnaceDouble"); - this.maxBurnTime = ConfigValues.furnaceDoubleSmeltTime; } @Override diff --git a/src/main/java/ellpeck/actuallyadditions/tile/TileEntityPackager.java b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityPackager.java new file mode 100644 index 000000000..6aebf4821 --- /dev/null +++ b/src/main/java/ellpeck/actuallyadditions/tile/TileEntityPackager.java @@ -0,0 +1,115 @@ +package ellpeck.actuallyadditions.tile; + +import net.minecraft.inventory.Container; +import net.minecraft.inventory.InventoryCrafting; +import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.CraftingManager; +import net.minecraft.nbt.NBTTagCompound; + +public class TileEntityPackager extends TileEntityInventoryBase{ + + public static final int SLOT_INPUT = 0; + public static final int SLOT_OUTPUT = 1; + + public int currentWaitTime; + public final int waitTime = 30; + + public boolean isTwoByTwo = false; + + public TileEntityPackager(){ + super(2, "tileEntityPackager"); + } + + @Override + @SuppressWarnings("unchecked") + public void updateEntity(){ + if(!worldObj.isRemote){ + if(this.canBeConverted(this.slots[SLOT_INPUT])){ + + ItemStack output = findMatchingRecipe(this.slots[SLOT_INPUT]); + if(this.slots[SLOT_OUTPUT] == null || (this.slots[SLOT_OUTPUT].isItemEqual(output) && this.slots[SLOT_OUTPUT].stackSize <= this.slots[SLOT_OUTPUT].getMaxStackSize()-output.stackSize)){ + + if(this.currentWaitTime >= this.waitTime){ + this.currentWaitTime = 0; + + if (this.slots[SLOT_OUTPUT] == null) this.slots[SLOT_OUTPUT] = output.copy(); + else if(this.slots[SLOT_OUTPUT].getItem() == output.getItem()) this.slots[SLOT_OUTPUT].stackSize += output.stackSize; + + this.slots[SLOT_INPUT].stackSize--; + if (this.slots[SLOT_INPUT].stackSize <= 0) this.slots[SLOT_INPUT] = null; + } + else this.currentWaitTime++; + } + } + } + } + + public boolean canBeConverted(ItemStack stack){ + return findMatchingRecipe(stack) != null; + } + + public ItemStack findMatchingRecipe(ItemStack stack){ + int k = this.isTwoByTwo ? 2 : 3; + + TheInventoryCrafting craftMatrix = new TheInventoryCrafting(null, k, k); + for(int i = 0; i < craftMatrix.getSizeInventory(); i++){ + craftMatrix.setInventorySlotContents(i, stack.copy()); + } + return CraftingManager.getInstance().findMatchingRecipe(craftMatrix, this.worldObj); + } + + @Override + public void writeToNBT(NBTTagCompound compound){ + super.writeToNBT(compound); + compound.setInteger("CurrentWaitTime", this.currentWaitTime); + compound.setBoolean("EnabledSlots", this.isTwoByTwo); + + } + + @Override + public void readFromNBT(NBTTagCompound compound){ + super.readFromNBT(compound); + this.currentWaitTime = compound.getInteger("CurrentWaitTime"); + this.isTwoByTwo = compound.getBoolean("EnabledSlots"); + } + + @Override + public boolean isItemValidForSlot(int i, ItemStack stack){ + return i == SLOT_INPUT; + } + + @Override + public boolean canInsertItem(int slot, ItemStack stack, int side){ + return this.isItemValidForSlot(slot, stack); + } + + @Override + public boolean canExtractItem(int slot, ItemStack stack, int side){ + return slot == SLOT_OUTPUT; + } + + public static class TheInventoryCrafting extends InventoryCrafting{ + + private ItemStack[] stackList; + + public TheInventoryCrafting(Container container, int x, int y){ + super(container, x, y); + this.stackList = new ItemStack[x*y]; + } + + @Override + public void setInventorySlotContents(int index, ItemStack stack){ + this.stackList[index] = stack; + } + + @Override + public ItemStack getStackInSlot(int position){ + return this.stackList[position]; + } + + @Override + public int getSizeInventory(){ + return this.stackList.length; + } + } +} diff --git a/src/main/java/ellpeck/actuallyadditions/util/Util.java b/src/main/java/ellpeck/actuallyadditions/util/Util.java index e4dcf6996..c6df06b6e 100644 --- a/src/main/java/ellpeck/actuallyadditions/util/Util.java +++ b/src/main/java/ellpeck/actuallyadditions/util/Util.java @@ -2,6 +2,7 @@ package ellpeck.actuallyadditions.util; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.registry.GameRegistry; +import ellpeck.actuallyadditions.creative.CreativeTab; import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; @@ -17,13 +18,13 @@ import org.lwjgl.input.Keyboard; @SuppressWarnings("unused") public class Util{ - public static final String VERSION = "1.7.10-0.0.1.1"; + public static final String VERSION = "1.7.10-0.0.1.3"; public static final String MOD_ID = "ActuallyAdditions"; public static final String NAME = "Actually Additions"; public static final String MOD_ID_LOWER = MOD_ID.toLowerCase(); - public static final Logger SPRS_LOGGER = LogManager.getLogger(MOD_ID); + public static final Logger AA_LOGGER = LogManager.getLogger(MOD_ID); public static final int WILDCARD = OreDictionary.WILDCARD_VALUE; public static final ResourceLocation GUI_INVENTORY_LOCATION = getGuiLocation("guiInventory"); @@ -70,7 +71,7 @@ public class Util{ } public static void logInfo(String text){ - SPRS_LOGGER.log(Level.INFO, text); + AA_LOGGER.log(Level.INFO, text); } public static void registerItems(Item[] items){ @@ -92,10 +93,14 @@ public class Util{ } public static void register(Item item){ + item.setCreativeTab(CreativeTab.instance); + item.setUnlocalizedName(setUnlocalizedName(item)); GameRegistry.registerItem(item, ((IName)item).getName()); } public static void register(Block block, Class itemBlock){ + block.setCreativeTab(CreativeTab.instance); + block.setBlockName(setUnlocalizedName(block)); GameRegistry.registerBlock(block, itemBlock, ((IName)block).getName()); } diff --git a/src/main/resources/assets/actuallyadditions/lang/en_US.lang b/src/main/resources/assets/actuallyadditions/lang/en_US.lang index d3380d987..47b40ba5e 100644 --- a/src/main/resources/assets/actuallyadditions/lang/en_US.lang +++ b/src/main/resources/assets/actuallyadditions/lang/en_US.lang @@ -62,6 +62,9 @@ item.actuallyadditions.itemDustGold.name=Crushed Gold item.actuallyadditions.itemDustDiamond.name=Crushed Diamond item.actuallyadditions.itemDustLapis.name=Crushed Lapis item.actuallyadditions.itemDustEmerald.name=Crushed Emerald +item.actuallyadditions.itemDustQuartz.name=Crushed Quartz +item.actuallyadditions.itemDustCoal.name=Crushed Coal +item.actuallyadditions.itemDustQuartzBlack.name=Crushed Black Quartz tooltip.actuallyadditions.shiftForInfo.desc=Press Shift for Info tooltip.actuallyadditions.hunger.desc=Fills @@ -70,7 +73,7 @@ tooltip.actuallyadditions.durability.desc=Durability tooltip.actuallyadditions.blockCompost.desc.1=Used to make Fertilizer with Mashed Food tooltip.actuallyadditions.blockCompost.desc.2=BETA INFO: Will visually contain Compost in the Future! -tooltip.actuallyadditions.blockMiscOreBlackQuartz.desc=The darkest form of Quartz. Also: You had Silk Touch! +tooltip.actuallyadditions.blockMiscOreBlackQuartz.desc=The darkest form of Quartz. tooltip.actuallyadditions.blockMiscBlackQuartz.desc=Black, eerie Quartz! Nice for decorating. tooltip.actuallyadditions.blockMiscBlackQuartzChiseled.desc=Black, eerie chiseled Quartz! Nice for decorating. tooltip.actuallyadditions.blockMiscBlackQuartzPillar.desc=Kind of a pillar. Not really, though. It's fake! Fake I say! @@ -86,7 +89,7 @@ tooltip.actuallyadditions.blockGrinderDouble.desc.3=Can crush two Ores simultane tooltip.actuallyadditions.blockFurnaceDouble.desc=Smelts two Things simultaneously! tooltip.actuallyadditions.itemMiscMashedFood.desc=Used to make Fertilizer -tooltip.actuallyadditions.itemFertilizer.desc=Om nom nom. Don't eat it. +tooltip.actuallyadditions.itemFertilizer.desc=Om nom nom. Don't eat it. Made in a Compost. tooltip.actuallyadditions.itemMiscDough.desc=Used to make things that involve dough. tooltip.actuallyadditions.itemMiscPaperCone.desc=Used to store foodstuffs! tooltip.actuallyadditions.itemMiscKnifeBlade.desc=Sharp like a tooth! A whale's tooth! @@ -135,6 +138,9 @@ tooltip.actuallyadditions.itemDustGold.desc=Gold! Crushed in the Crusher! tooltip.actuallyadditions.itemDustDiamond.desc=Diamond! Crushed in the Crusher! tooltip.actuallyadditions.itemDustLapis.desc=Lapis! Crushed in the Crusher! tooltip.actuallyadditions.itemDustEmerald.desc=Emerald! Crushed in the Crusher! +tooltip.actuallyadditions.itemDustQuartz.desc=Quartz! Crushed in the Crusher! +tooltip.actuallyadditions.itemDustCoal.desc=Coal! Crushed in the Crusher! +tooltip.actuallyadditions.itemDustQuartzBlack.desc=Black Quartz! Crushed in the Crusher! achievement.actuallyadditions.smeltBaguette=Better than Bread! achievement.actuallyadditions.smeltBaguette.desc=Bake a Baguette diff --git a/src/main/resources/assets/actuallyadditions/textures/blocks/crash-2015-03-07_03.56.11-client.txt b/src/main/resources/assets/actuallyadditions/textures/blocks/crash-2015-03-07_03.56.11-client.txt deleted file mode 100644 index 5bd4c464d..000000000 --- a/src/main/resources/assets/actuallyadditions/textures/blocks/crash-2015-03-07_03.56.11-client.txt +++ /dev/null @@ -1,73 +0,0 @@ ----- Minecraft Crash Report ---- -// Don't do that. - -Time: 07.03.15 03:56 -Description: There was a severe problem during mod loading that has caused the game to fail - -cpw.mods.fml.common.LoaderException: java.lang.NoSuchMethodError: net.minecraft.item.Item$ToolMaterial.setRepairItem(Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/Item$ToolMaterial; - at cpw.mods.fml.common.LoadController.transition(LoadController.java:162) - at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:515) - at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:239) - at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:480) - at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:867) - at net.minecraft.client.main.Main.main(SourceFile:148) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) - at net.minecraft.launchwrapper.Launch.main(Launch.java:28) -Caused by: java.lang.NoSuchMethodError: net.minecraft.item.Item$ToolMaterial.setRepairItem(Lnet/minecraft/item/ItemStack;)Lnet/minecraft/item/Item$ToolMaterial; - at ellpeck.actuallyadditions.material.InitItemMaterials.init(InitItemMaterials.java:19) - at ellpeck.actuallyadditions.SomePrettyRandomStuff.preInit(SomePrettyRandomStuff.java:40) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) - at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) - at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) - at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) - at com.google.common.eventbus.EventBus.post(EventBus.java:275) - at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208) - at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) - at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) - at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) - at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) - at com.google.common.eventbus.EventBus.post(EventBus.java:275) - at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118) - at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:513) - ... 10 more - - -A detailed walkthrough of the error, its code path and all known details is as follows: ---------------------------------------------------------------------------------------- - --- System Details -- -Details: - Minecraft Version: 1.7.10 - Operating System: Windows 7 (amd64) version 6.1 - Java Version: 1.8.0_25, Oracle Corporation - Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation - Memory: 122065264 bytes (116 MB) / 289173504 bytes (275 MB) up to 3207856128 bytes (3059 MB) - JVM Flags: 6 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx3G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xmn128M - AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used - IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 - FML: MCP v9.05 FML v7.10.85.1232 Minecraft Forge 10.13.2.1232 Optifine OptiFine_1.7.10_HD_A4 7 mods loaded, 7 mods active - mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized - FML{7.10.85.1232} [Forge Mod Loader] (forge-1.7.10-10.13.2.1232.jar) Unloaded->Constructed->Pre-initialized - Forge{10.13.2.1232} [Minecraft Forge] (forge-1.7.10-10.13.2.1232.jar) Unloaded->Constructed->Pre-initialized - AIRI{3.0.0-1.7.10} [AIRI] ([1.7.10-10.13.0.1158][3.0.0-1.7.10] AIRI.jar) Unloaded->Constructed->Pre-initialized - AliensVsPredator{3.9.14-1.7.10} [AliensVsPredator] ([Current] AliensVsPredator.jar) Unloaded->Constructed->Pre-initialized - SGCraft{1.8.4} [Greg's SG Craft] (SGCraft-1.8.4-mc1.7.10.jar) Unloaded->Constructed->Pre-initialized - SomePrettyRandomStuff{1.7.10-0.0.1} [Some Pretty Random Stuff] (SomePrettyRandomStuff-1.7.10-0.0.1.jar) Unloaded->Constructed->Errored \ No newline at end of file diff --git a/src/main/resources/assets/actuallyadditions/textures/items/itemCrafterOnAStick.png b/src/main/resources/assets/actuallyadditions/textures/items/itemCrafterOnAStick.png index 0b24de213..94891d6c5 100644 Binary files a/src/main/resources/assets/actuallyadditions/textures/items/itemCrafterOnAStick.png and b/src/main/resources/assets/actuallyadditions/textures/items/itemCrafterOnAStick.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/items/itemFertilizer.png b/src/main/resources/assets/actuallyadditions/textures/items/itemFertilizer.png index 623706383..68ea559df 100644 Binary files a/src/main/resources/assets/actuallyadditions/textures/items/itemFertilizer.png and b/src/main/resources/assets/actuallyadditions/textures/items/itemFertilizer.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/items/itemFoodNoodle.png b/src/main/resources/assets/actuallyadditions/textures/items/itemFoodNoodle.png index 472c0ea19..fc1c1bb34 100644 Binary files a/src/main/resources/assets/actuallyadditions/textures/items/itemFoodNoodle.png and b/src/main/resources/assets/actuallyadditions/textures/items/itemFoodNoodle.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/items/itemFoodToast.png b/src/main/resources/assets/actuallyadditions/textures/items/itemFoodToast.png index 4b6bb7405..9324a5354 100644 Binary files a/src/main/resources/assets/actuallyadditions/textures/items/itemFoodToast.png and b/src/main/resources/assets/actuallyadditions/textures/items/itemFoodToast.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/items/itemKnife.png b/src/main/resources/assets/actuallyadditions/textures/items/itemKnife.png index b5fdea732..c51cdd9ab 100644 Binary files a/src/main/resources/assets/actuallyadditions/textures/items/itemKnife.png and b/src/main/resources/assets/actuallyadditions/textures/items/itemKnife.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/items/itemMiscDough.png b/src/main/resources/assets/actuallyadditions/textures/items/itemMiscDough.png index bee66f441..9ad6d0e04 100644 Binary files a/src/main/resources/assets/actuallyadditions/textures/items/itemMiscDough.png and b/src/main/resources/assets/actuallyadditions/textures/items/itemMiscDough.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/items/itemMiscKnifeBlade.png b/src/main/resources/assets/actuallyadditions/textures/items/itemMiscKnifeBlade.png index 23c78c181..eb6cdb88c 100644 Binary files a/src/main/resources/assets/actuallyadditions/textures/items/itemMiscKnifeBlade.png and b/src/main/resources/assets/actuallyadditions/textures/items/itemMiscKnifeBlade.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/items/itemMiscKnifeHandle.png b/src/main/resources/assets/actuallyadditions/textures/items/itemMiscKnifeHandle.png index 42c717133..69f35db62 100644 Binary files a/src/main/resources/assets/actuallyadditions/textures/items/itemMiscKnifeHandle.png and b/src/main/resources/assets/actuallyadditions/textures/items/itemMiscKnifeHandle.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/logo.png b/src/main/resources/assets/actuallyadditions/textures/logo.png index d9b081cae..4c278518b 100644 Binary files a/src/main/resources/assets/actuallyadditions/textures/logo.png and b/src/main/resources/assets/actuallyadditions/textures/logo.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/logoBig.png b/src/main/resources/assets/actuallyadditions/textures/logoBig.png index 6668a4512..4931ee359 100644 Binary files a/src/main/resources/assets/actuallyadditions/textures/logoBig.png and b/src/main/resources/assets/actuallyadditions/textures/logoBig.png differ diff --git a/src/main/resources/assets/actuallyadditions/textures/logoSquare.png b/src/main/resources/assets/actuallyadditions/textures/logoSquare.png new file mode 100644 index 000000000..f0d7e8095 Binary files /dev/null and b/src/main/resources/assets/actuallyadditions/textures/logoSquare.png differ diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 17e06f849..767960498 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -1,17 +1,17 @@ [ { - "modid": "SomePrettyRandomStuff", - "name": "Some Pretty Random Stuff", + "modid": "ActuallyAdditions", + "name": "Actually Additions", "description": "A bunch of random stuff added to your Game to make it even more fun, exciting and add some more variety!", - "version": "0.0.1.1", + "version": "0.0.1.3", "mcversion": "1.7.10", - "url": "https://github.com/Ellpeck/SomePrettyRandomStuff", + "url": "https://github.com/Ellpeck/ActuallyAdditions", "updateUrl": "", "authorList": [ "Ellpeck" ], "credits": "GlenthorLP for all of the awesome Graphics", - "logoFile": "assets/someprettyrandomstuff/textures/logo.png", + "logoFile": "assets/actuallyadditions/textures/logo.png", "screenshots": [ ], "parent":"",