Lots of fixes.

Prepared for 0.1.3
This commit is contained in:
Ellpeck 2015-03-08 14:58:26 +01:00
parent 2a2308c0ce
commit 9a8cd60c33
49 changed files with 285 additions and 176 deletions

3
README.md Normal file
View file

@ -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

View file

@ -17,7 +17,7 @@ buildscript {
apply plugin: 'forge' apply plugin: 'forge'
version = "1.7.10-0.0.1.1" version = "1.7.10-0.0.1.3"
group = "ellpeck.actuallyadditions" group = "ellpeck.actuallyadditions"
archivesBaseName = "ActuallyAdditions" archivesBaseName = "ActuallyAdditions"

View file

@ -4,7 +4,6 @@ import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.achievement.InitAchievements; import ellpeck.actuallyadditions.achievement.InitAchievements;
import ellpeck.actuallyadditions.creative.CreativeTab;
import ellpeck.actuallyadditions.items.ItemFertilizer; import ellpeck.actuallyadditions.items.ItemFertilizer;
import ellpeck.actuallyadditions.items.ItemMisc; import ellpeck.actuallyadditions.items.ItemMisc;
import ellpeck.actuallyadditions.items.metalists.TheMiscItems; import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
@ -32,8 +31,6 @@ public class BlockCompost extends BlockContainerBase implements IName{
public BlockCompost(){ public BlockCompost(){
super(Material.wood); super(Material.wood);
this.setCreativeTab(CreativeTab.instance);
this.setBlockName(Util.setUnlocalizedName(this));
this.setHarvestLevel("axe", 0); this.setHarvestLevel("axe", 0);
this.setHardness(1.0F); this.setHardness(1.0F);
this.setStepSound(soundTypeWood); this.setStepSound(soundTypeWood);

View file

@ -3,7 +3,6 @@ package ellpeck.actuallyadditions.blocks;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.ActuallyAdditions; import ellpeck.actuallyadditions.ActuallyAdditions;
import ellpeck.actuallyadditions.creative.CreativeTab;
import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.inventory.GuiHandler;
import ellpeck.actuallyadditions.tile.TileEntityFeeder; import ellpeck.actuallyadditions.tile.TileEntityFeeder;
import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.IName;
@ -28,8 +27,6 @@ public class BlockFeeder extends BlockContainerBase implements IName{
public BlockFeeder(){ public BlockFeeder(){
super(Material.wood); super(Material.wood);
this.setBlockName(Util.setUnlocalizedName(this));
this.setCreativeTab(CreativeTab.instance);
this.setHarvestLevel("axe", 0); this.setHarvestLevel("axe", 0);
this.setHardness(1.0F); this.setHardness(1.0F);
this.setStepSound(soundTypeWood); this.setStepSound(soundTypeWood);

View file

@ -3,7 +3,6 @@ package ellpeck.actuallyadditions.blocks;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.ActuallyAdditions; import ellpeck.actuallyadditions.ActuallyAdditions;
import ellpeck.actuallyadditions.creative.CreativeTab;
import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.inventory.GuiHandler;
import ellpeck.actuallyadditions.tile.TileEntityFurnaceDouble; import ellpeck.actuallyadditions.tile.TileEntityFurnaceDouble;
import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.IName;
@ -33,9 +32,7 @@ public class BlockFurnaceDouble extends BlockContainerBase implements IName{
private IIcon frontIcon; private IIcon frontIcon;
public BlockFurnaceDouble(){ public BlockFurnaceDouble(){
super(Material.wood); super(Material.rock);
this.setBlockName(Util.setUnlocalizedName(this));
this.setCreativeTab(CreativeTab.instance);
this.setHarvestLevel("pickaxe", 0); this.setHarvestLevel("pickaxe", 0);
this.setHardness(1.0F); this.setHardness(1.0F);
this.setStepSound(soundTypeStone); this.setStepSound(soundTypeStone);

View file

@ -3,7 +3,6 @@ package ellpeck.actuallyadditions.blocks;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.ActuallyAdditions; import ellpeck.actuallyadditions.ActuallyAdditions;
import ellpeck.actuallyadditions.creative.CreativeTab;
import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.inventory.GuiHandler;
import ellpeck.actuallyadditions.tile.TileEntityGiantChest; import ellpeck.actuallyadditions.tile.TileEntityGiantChest;
import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.IName;
@ -28,8 +27,6 @@ public class BlockGiantChest extends BlockContainerBase implements IName{
public BlockGiantChest(){ public BlockGiantChest(){
super(Material.wood); super(Material.wood);
this.setBlockName(Util.setUnlocalizedName(this));
this.setCreativeTab(CreativeTab.instance);
this.setHarvestLevel("axe", 0); this.setHarvestLevel("axe", 0);
this.setHardness(1.0F); this.setHardness(1.0F);
this.setStepSound(soundTypeWood); this.setStepSound(soundTypeWood);

View file

@ -3,7 +3,6 @@ package ellpeck.actuallyadditions.blocks;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.ActuallyAdditions; import ellpeck.actuallyadditions.ActuallyAdditions;
import ellpeck.actuallyadditions.creative.CreativeTab;
import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.inventory.GuiHandler;
import ellpeck.actuallyadditions.tile.TileEntityGrinder; import ellpeck.actuallyadditions.tile.TileEntityGrinder;
import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.IName;
@ -33,10 +32,8 @@ public class BlockGrinder extends BlockContainerBase implements IName{
private boolean isDouble; private boolean isDouble;
public BlockGrinder(boolean isDouble){ public BlockGrinder(boolean isDouble){
super(Material.wood); super(Material.rock);
this.isDouble = isDouble; this.isDouble = isDouble;
this.setBlockName(Util.setUnlocalizedName(this));
this.setCreativeTab(CreativeTab.instance);
this.setHarvestLevel("pickaxe", 0); this.setHarvestLevel("pickaxe", 0);
this.setHardness(1.0F); this.setHardness(1.0F);
this.setStepSound(soundTypeStone); this.setStepSound(soundTypeStone);

View file

@ -3,7 +3,6 @@ package ellpeck.actuallyadditions.blocks;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.blocks.metalists.TheMiscBlocks; import ellpeck.actuallyadditions.blocks.metalists.TheMiscBlocks;
import ellpeck.actuallyadditions.creative.CreativeTab;
import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.IName;
import ellpeck.actuallyadditions.util.Util; import ellpeck.actuallyadditions.util.Util;
import net.minecraft.block.Block; import net.minecraft.block.Block;
@ -27,8 +26,6 @@ public class BlockMisc extends Block implements IName{
public BlockMisc(){ public BlockMisc(){
super(Material.rock); super(Material.rock);
this.setBlockName(Util.setUnlocalizedName(this));
this.setCreativeTab(CreativeTab.instance);
} }
@SuppressWarnings("all") @SuppressWarnings("all")

View file

@ -51,16 +51,28 @@ public class ConfigValues{
public static boolean enablePearlShardDrop; public static boolean enablePearlShardDrop;
public static boolean enableEmeraldShardDrop; 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){ public static void defineConfigValues(Configuration config){
for(int i = 0; i < enabledFoodRecipes.length; i++){ 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"); 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++){ 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 //TODO CHANGE TO BE TRUE BY DEFAULT
enableExperienceDrop = config.getBoolean("Solidified Experience", ConfigurationHandler.CATEGORY_MOB_DROPS, false, "If the Solidified Experience drops from Mobs"); enableExperienceDrop = config.getBoolean("Solidified Experience", ConfigurationHandler.CATEGORY_MOB_DROPS, false, "If the Solidified Experience drops from Mobs");

View file

@ -14,6 +14,7 @@ public class ConfigurationHandler{
public static final String CATEGORY_TOOL_VALUES = "tool values"; public static final String CATEGORY_TOOL_VALUES = "tool values";
public static final String CATEGORY_MACHINE_VALUES = "machine values"; public static final String CATEGORY_MACHINE_VALUES = "machine values";
public static final String CATEGORY_MOB_DROPS = "mob drops"; public static final String CATEGORY_MOB_DROPS = "mob drops";
public static final String CATEGORY_WORLD_GEN = "world gen";
public static void init(File configFile){ public static void init(File configFile){

View file

@ -28,25 +28,31 @@ public class GrinderCrafting{
for(String name : names){ for(String name : names){
if(name.contains("ore")){ if(name.contains("ore")){
String nameOfOre = name.substring(3); String nameOfOre = name.substring(3);
ArrayList<ItemStack> allDusts = OreDictionary.getOres("dust" + nameOfOre); ArrayList<ItemStack> allDusts;
if(nameOfOre.contains("Nether")) allDusts = OreDictionary.getOres("dust" + nameOfOre.substring(6));
else allDusts = OreDictionary.getOres("dust" + nameOfOre);
if(allDusts != null && allDusts.size() > 0){ if(allDusts != null && allDusts.size() > 0){
ItemStack output = allDusts.get(0);
output.stackSize = 2;
ArrayList<ItemStack> allOresOfName = OreDictionary.getOres(name); ArrayList<ItemStack> allOresOfName = OreDictionary.getOres(name);
if(allOresOfName != null && allOresOfName.size() > 0){ if(allOresOfName != null && allOresOfName.size() > 0){
for(ItemStack output : allDusts){
output.stackSize = 2;
for(ItemStack input : allOresOfName){ for(ItemStack input : allOresOfName){
if(GrinderRecipes.instance().getOutput(input, false) == null){ if(GrinderRecipes.instance().getOutput(input, false) == null){
//Special Second Outputs //Special Second Outputs
if(name.equals("oreNickel")) GrinderRecipes.instance().registerRecipe(input, output, OreDictionary.getOres("dustPlatinum").get(0), 10); 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.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.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.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 :(");
} }
} }

View file

@ -1,6 +1,8 @@
package ellpeck.actuallyadditions.crafting; package ellpeck.actuallyadditions.crafting;
import cpw.mods.fml.common.registry.GameRegistry; 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.config.ConfigValues;
import ellpeck.actuallyadditions.items.InitItems; import ellpeck.actuallyadditions.items.InitItems;
import ellpeck.actuallyadditions.items.metalists.TheDusts; import ellpeck.actuallyadditions.items.metalists.TheDusts;
@ -16,6 +18,11 @@ public class ItemCrafting{
public static void init(){ 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 //Knife
if(ConfigValues.enableKnifeRecipe) if(ConfigValues.enableKnifeRecipe)
GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemKnife), GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemKnife),
@ -34,16 +41,23 @@ public class ItemCrafting{
initMashedFoodRecipes(); 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); 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); 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); 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); 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); 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){ for(Object nextIterator : Item.itemRegistry){
if(nextIterator instanceof ItemFood){ if(nextIterator instanceof ItemFood){
ItemStack ingredient = new ItemStack((Item)nextIterator, 1, Util.WILDCARD); 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));
} }
} }
} }

View file

@ -1,27 +1,76 @@
package ellpeck.actuallyadditions.creative; 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.InitItems;
import ellpeck.actuallyadditions.items.metalists.TheFoods;
import ellpeck.actuallyadditions.util.Util; import ellpeck.actuallyadditions.util.Util;
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import java.util.List;
public class CreativeTab extends CreativeTabs{ public class CreativeTab extends CreativeTabs{
public static CreativeTab instance = new CreativeTab(); public static CreativeTab instance = new CreativeTab();
private List list;
public CreativeTab(){ public CreativeTab(){
super(Util.MOD_ID_LOWER); 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 @Override
public Item getTabIconItem(){ public Item getTabIconItem(){
return InitItems.itemFoods; return Item.getItemFromBlock(InitBlocks.blockGrinderDouble);
} }
@Override @Override
public ItemStack getIconItemStack(){ 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);
} }
} }

View file

@ -18,7 +18,7 @@ public class KilledEvent{
if(event.source.getEntity() instanceof EntityPlayer){ if(event.source.getEntity() instanceof EntityPlayer){
for(int i = 0; i < TheSpecialDrops.values().length; i++){ for(int i = 0; i < TheSpecialDrops.values().length; i++){
TheSpecialDrops theDrop = TheSpecialDrops.values()[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){ if(new Random().nextInt(100) + 1 <= theDrop.chance){
event.entityLiving.entityDropItem(new ItemStack(InitItems.itemSpecialDrop, new Random().nextInt(theDrop.maxAmount) + 1, theDrop.ordinal()), 0); event.entityLiving.entityDropItem(new ItemStack(InitItems.itemSpecialDrop, new Random().nextInt(theDrop.maxAmount) + 1, theDrop.ordinal()), 0);
} }

View file

@ -2,15 +2,19 @@ package ellpeck.actuallyadditions.gen;
import cpw.mods.fml.common.IWorldGenerator; import cpw.mods.fml.common.IWorldGenerator;
import cpw.mods.fml.common.registry.GameRegistry; 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 ellpeck.actuallyadditions.util.Util;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.feature.WorldGenMinable; import net.minecraft.world.gen.feature.WorldGenMinable;
import org.apache.logging.log4j.Level;
import java.util.Random; import java.util.Random;
@SuppressWarnings("unused")
public class OreGen implements IWorldGenerator{ public class OreGen implements IWorldGenerator{
@Override @Override
@ -31,7 +35,7 @@ public class OreGen implements IWorldGenerator{
} }
private void generateSurface(World world, Random random, int x, int z){ 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") @SuppressWarnings("unused")
@ -39,15 +43,22 @@ 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){ 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; int yDiff = maxY - minY;
for(int i = 0; i < chancesToSpawn; i++){ for(int i = 0; i < chancesToSpawn; i++){
int posX = blockXPos + random.nextInt(16); int posX = blockXPos + random.nextInt(16);
int posY = minY + random.nextInt(yDiff); int posY = minY + random.nextInt(yDiff);
int posZ = blockZPos + random.nextInt(16); int posZ = blockZPos + random.nextInt(16);
(new WorldGenMinable(block, meta, maxVeinSize, blockIn)).generate(world, random, posX, posY, posZ); 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(){ public static void init(){
Util.logInfo("Registering World Generator..."); Util.logInfo("Registering World Generator...");

View file

@ -45,7 +45,7 @@ public class ContainerCrafter extends Container{
} }
@Override @Override
public void onCraftMatrixChanged(IInventory p_75130_1_){ public void onCraftMatrixChanged(IInventory inv){
this.craftResult.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(this.craftMatrix, this.world)); this.craftResult.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(this.craftMatrix, this.world));
} }

View file

@ -3,7 +3,6 @@ package ellpeck.actuallyadditions.items;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.ActuallyAdditions; import ellpeck.actuallyadditions.ActuallyAdditions;
import ellpeck.actuallyadditions.creative.CreativeTab;
import ellpeck.actuallyadditions.inventory.GuiHandler; import ellpeck.actuallyadditions.inventory.GuiHandler;
import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.IName;
import ellpeck.actuallyadditions.util.Util; import ellpeck.actuallyadditions.util.Util;
@ -20,8 +19,6 @@ import java.util.List;
public class ItemCrafterOnAStick extends Item implements IName{ public class ItemCrafterOnAStick extends Item implements IName{
public ItemCrafterOnAStick(){ public ItemCrafterOnAStick(){
this.setUnlocalizedName(Util.setUnlocalizedName(this));
this.setCreativeTab(CreativeTab.instance);
this.setMaxStackSize(1); this.setMaxStackSize(1);
} }

View file

@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.creative.CreativeTab;
import ellpeck.actuallyadditions.items.metalists.TheDusts; import ellpeck.actuallyadditions.items.metalists.TheDusts;
import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.IName;
import ellpeck.actuallyadditions.util.Util; import ellpeck.actuallyadditions.util.Util;
@ -22,9 +21,7 @@ public class ItemDust extends Item implements IName{
public static final TheDusts[] allDusts = TheDusts.values(); public static final TheDusts[] allDusts = TheDusts.values();
public ItemDust(){ public ItemDust(){
this.setUnlocalizedName(Util.setUnlocalizedName(this));
this.setHasSubtypes(true); this.setHasSubtypes(true);
this.setCreativeTab(CreativeTab.instance);
} }
@Override @Override

View file

@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.creative.CreativeTab;
import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.IName;
import ellpeck.actuallyadditions.util.Util; import ellpeck.actuallyadditions.util.Util;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
@ -18,11 +17,6 @@ import java.util.List;
public class ItemFertilizer extends Item implements IName{ public class ItemFertilizer extends Item implements IName{
public ItemFertilizer(){
this.setUnlocalizedName(Util.setUnlocalizedName(this));
this.setCreativeTab(CreativeTab.instance);
}
@Override @Override
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int par7, float par8, float par9, float par10){ 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)){ if(ItemDye.applyBonemeal(stack, world, x, y, z, player)){

View file

@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.creative.CreativeTab;
import ellpeck.actuallyadditions.items.metalists.TheFoods; import ellpeck.actuallyadditions.items.metalists.TheFoods;
import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.IName;
import ellpeck.actuallyadditions.util.Util; import ellpeck.actuallyadditions.util.Util;
@ -24,10 +23,8 @@ public class ItemFoods extends ItemFood implements IName{
public ItemFoods(){ public ItemFoods(){
super(0, 0.0F, false); super(0, 0.0F, false);
this.setUnlocalizedName(Util.setUnlocalizedName(this));
this.setHasSubtypes(true); this.setHasSubtypes(true);
this.setMaxDamage(0); this.setMaxDamage(0);
this.setCreativeTab(CreativeTab.instance);
this.setAlwaysEdible(); this.setAlwaysEdible();
TheFoods.setReturnItems(); TheFoods.setReturnItems();
} }

View file

@ -3,7 +3,6 @@ package ellpeck.actuallyadditions.items;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.config.ConfigValues; import ellpeck.actuallyadditions.config.ConfigValues;
import ellpeck.actuallyadditions.creative.CreativeTab;
import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.IName;
import ellpeck.actuallyadditions.util.Util; import ellpeck.actuallyadditions.util.Util;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
@ -18,9 +17,7 @@ import java.util.List;
public class ItemKnife extends Item implements IName{ public class ItemKnife extends Item implements IName{
public ItemKnife(){ public ItemKnife(){
this.setUnlocalizedName(Util.setUnlocalizedName(this));
this.setMaxDamage(ConfigValues.itemKnifeMaxDamage); this.setMaxDamage(ConfigValues.itemKnifeMaxDamage);
this.setCreativeTab(CreativeTab.instance);
this.setMaxStackSize(1); this.setMaxStackSize(1);
this.setContainerItem(this); this.setContainerItem(this);
} }

View file

@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.creative.CreativeTab;
import ellpeck.actuallyadditions.items.metalists.TheMiscItems; import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.IName;
import ellpeck.actuallyadditions.util.Util; import ellpeck.actuallyadditions.util.Util;
@ -23,9 +22,7 @@ public class ItemMisc extends Item implements IName{
public IIcon[] textures = new IIcon[allMiscItems.length]; public IIcon[] textures = new IIcon[allMiscItems.length];
public ItemMisc(){ public ItemMisc(){
this.setUnlocalizedName(Util.setUnlocalizedName(this));
this.setHasSubtypes(true); this.setHasSubtypes(true);
this.setCreativeTab(CreativeTab.instance);
} }
@Override @Override

View file

@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.creative.CreativeTab;
import ellpeck.actuallyadditions.items.metalists.TheSpecialDrops; import ellpeck.actuallyadditions.items.metalists.TheSpecialDrops;
import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.IName;
import ellpeck.actuallyadditions.util.Util; import ellpeck.actuallyadditions.util.Util;
@ -23,9 +22,7 @@ public class ItemSpecialDrop extends Item implements IName{
public IIcon[] textures = new IIcon[allDrops.length]; public IIcon[] textures = new IIcon[allDrops.length];
public ItemSpecialDrop(){ public ItemSpecialDrop(){
this.setUnlocalizedName(Util.setUnlocalizedName(this));
this.setHasSubtypes(true); this.setHasSubtypes(true);
this.setCreativeTab(CreativeTab.instance);
} }
@Override @Override

View file

@ -1,6 +1,7 @@
package ellpeck.actuallyadditions.items.metalists; package ellpeck.actuallyadditions.items.metalists;
import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.IName;
import ellpeck.actuallyadditions.util.Util;
import net.minecraft.item.EnumRarity; import net.minecraft.item.EnumRarity;
public enum TheDusts implements IName{ public enum TheDusts implements IName{
@ -9,7 +10,10 @@ public enum TheDusts implements IName{
GOLD("Gold", 14335744, EnumRarity.uncommon), GOLD("Gold", 14335744, EnumRarity.uncommon),
DIAMOND("Diamond", 292003, EnumRarity.rare), DIAMOND("Diamond", 292003, EnumRarity.rare),
EMERALD("Emerald", 4319527, EnumRarity.epic), 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 String name;
public final int color; public final int color;

View file

@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items.tools;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.creative.CreativeTab;
import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.IName;
import ellpeck.actuallyadditions.util.Util; import ellpeck.actuallyadditions.util.Util;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
@ -25,7 +24,6 @@ public class ItemAxeAA extends ItemAxe implements IName{
this.name = unlocalizedName; this.name = unlocalizedName;
this.rarity = rarity; this.rarity = rarity;
this.setUnlocalizedName(Util.setUnlocalizedName(this)); this.setUnlocalizedName(Util.setUnlocalizedName(this));
this.setCreativeTab(CreativeTab.instance);
} }
@Override @Override

View file

@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items.tools;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.creative.CreativeTab;
import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.IName;
import ellpeck.actuallyadditions.util.Util; import ellpeck.actuallyadditions.util.Util;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
@ -25,7 +24,6 @@ public class ItemHoeAA extends ItemHoe implements IName{
this.name = unlocalizedName; this.name = unlocalizedName;
this.rarity = rarity; this.rarity = rarity;
this.setUnlocalizedName(Util.setUnlocalizedName(this)); this.setUnlocalizedName(Util.setUnlocalizedName(this));
this.setCreativeTab(CreativeTab.instance);
} }
@Override @Override

View file

@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items.tools;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.creative.CreativeTab;
import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.IName;
import ellpeck.actuallyadditions.util.Util; import ellpeck.actuallyadditions.util.Util;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
@ -25,7 +24,6 @@ public class ItemPickaxeAA extends ItemPickaxe implements IName{
this.name = unlocalizedName; this.name = unlocalizedName;
this.rarity = rarity; this.rarity = rarity;
this.setUnlocalizedName(Util.setUnlocalizedName(this)); this.setUnlocalizedName(Util.setUnlocalizedName(this));
this.setCreativeTab(CreativeTab.instance);
} }
@Override @Override

View file

@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items.tools;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.creative.CreativeTab;
import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.IName;
import ellpeck.actuallyadditions.util.Util; import ellpeck.actuallyadditions.util.Util;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
@ -25,7 +24,6 @@ public class ItemShovelAA extends ItemSpade implements IName{
this.name = unlocalizedName; this.name = unlocalizedName;
this.rarity = rarity; this.rarity = rarity;
this.setUnlocalizedName(Util.setUnlocalizedName(this)); this.setUnlocalizedName(Util.setUnlocalizedName(this));
this.setCreativeTab(CreativeTab.instance);
} }
@Override @Override

View file

@ -2,7 +2,6 @@ package ellpeck.actuallyadditions.items.tools;
import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly; import cpw.mods.fml.relauncher.SideOnly;
import ellpeck.actuallyadditions.creative.CreativeTab;
import ellpeck.actuallyadditions.util.IName; import ellpeck.actuallyadditions.util.IName;
import ellpeck.actuallyadditions.util.Util; import ellpeck.actuallyadditions.util.Util;
import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.IIconRegister;
@ -25,7 +24,6 @@ public class ItemSwordAA extends ItemSword implements IName{
this.name = unlocalizedName; this.name = unlocalizedName;
this.rarity = rarity; this.rarity = rarity;
this.setUnlocalizedName(Util.setUnlocalizedName(this)); this.setUnlocalizedName(Util.setUnlocalizedName(this));
this.setCreativeTab(CreativeTab.instance);
} }
@Override @Override

View file

@ -1,7 +1,10 @@
package ellpeck.actuallyadditions.oredict; package ellpeck.actuallyadditions.oredict;
import ellpeck.actuallyadditions.blocks.InitBlocks;
import ellpeck.actuallyadditions.blocks.metalists.TheMiscBlocks;
import ellpeck.actuallyadditions.items.InitItems; import ellpeck.actuallyadditions.items.InitItems;
import ellpeck.actuallyadditions.items.metalists.TheDusts; import ellpeck.actuallyadditions.items.metalists.TheDusts;
import ellpeck.actuallyadditions.items.metalists.TheMiscItems;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary; 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("dustGold", new ItemStack(InitItems.itemDust, 1, TheDusts.GOLD.ordinal()));
OreDictionary.registerOre("dustEmerald", new ItemStack(InitItems.itemDust, 1, TheDusts.EMERALD.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("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()));
} }
} }

View file

@ -33,6 +33,7 @@ public class TileEntityBase extends TileEntity{
GameRegistry.registerTileEntity(TileEntityGiantChest.class, Util.MOD_ID_LOWER + ":tileEntityGiantChest"); GameRegistry.registerTileEntity(TileEntityGiantChest.class, Util.MOD_ID_LOWER + ":tileEntityGiantChest");
GameRegistry.registerTileEntity(TileEntityGrinder.class, Util.MOD_ID_LOWER + ":tileEntityGrinder"); GameRegistry.registerTileEntity(TileEntityGrinder.class, Util.MOD_ID_LOWER + ":tileEntityGrinder");
GameRegistry.registerTileEntity(TileEntityFurnaceDouble.class, Util.MOD_ID_LOWER + ":tileEntityFurnaceDouble"); GameRegistry.registerTileEntity(TileEntityFurnaceDouble.class, Util.MOD_ID_LOWER + ":tileEntityFurnaceDouble");
GameRegistry.registerTileEntity(TileEntityPackager.class, Util.MOD_ID_LOWER + ":tileEntityPackager");
} }
@Override @Override

View file

@ -34,9 +34,9 @@ public class TileEntityFeeder extends TileEntityInventoryBase{
List<EntityAnimal> 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)); List<EntityAnimal> 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){ if(animals != null){
this.currentAnimalAmount = animals.size(); this.currentAnimalAmount = animals.size();
if(this.currentAnimalAmount >= 2 && this.slots[0] != null){ if(this.currentAnimalAmount >= 2){
if(this.currentAnimalAmount < this.animalThreshold){ if(this.currentAnimalAmount < this.animalThreshold){
if(this.currentTimer >= this.timerGoal){ if(this.currentTimer >= this.timerGoal && this.slots[0] != null){
this.currentTimer = 0; this.currentTimer = 0;
EntityAnimal randomAnimal = animals.get(new Random().nextInt(this.currentAnimalAmount)); EntityAnimal randomAnimal = animals.get(new Random().nextInt(this.currentAnimalAmount));
if(!randomAnimal.isInLove() && randomAnimal.getGrowingAge() == 0 && randomAnimal.isBreedingItem(this.slots[0])){ if(!randomAnimal.isInLove() && randomAnimal.getGrowingAge() == 0 && randomAnimal.isBreedingItem(this.slots[0])){

View file

@ -19,14 +19,13 @@ public class TileEntityFurnaceDouble extends TileEntityInventoryBase{
public int coalTime; public int coalTime;
public int coalTimeLeft; public int coalTimeLeft;
public final int maxBurnTime; public final int maxBurnTime = ConfigValues.furnaceDoubleSmeltTime;
public int firstSmeltTime; public int firstSmeltTime;
public int secondSmeltTime; public int secondSmeltTime;
public TileEntityFurnaceDouble(){ public TileEntityFurnaceDouble(){
super(5, "tileEntityFurnaceDouble"); super(5, "tileEntityFurnaceDouble");
this.maxBurnTime = ConfigValues.furnaceDoubleSmeltTime;
} }
@Override @Override

View file

@ -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;
}
}
}

View file

@ -2,6 +2,7 @@ package ellpeck.actuallyadditions.util;
import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.GameRegistry;
import ellpeck.actuallyadditions.creative.CreativeTab;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemBlock;
@ -17,13 +18,13 @@ import org.lwjgl.input.Keyboard;
@SuppressWarnings("unused") @SuppressWarnings("unused")
public class Util{ 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 MOD_ID = "ActuallyAdditions";
public static final String NAME = "Actually Additions"; public static final String NAME = "Actually Additions";
public static final String MOD_ID_LOWER = MOD_ID.toLowerCase(); 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 int WILDCARD = OreDictionary.WILDCARD_VALUE;
public static final ResourceLocation GUI_INVENTORY_LOCATION = getGuiLocation("guiInventory"); public static final ResourceLocation GUI_INVENTORY_LOCATION = getGuiLocation("guiInventory");
@ -70,7 +71,7 @@ public class Util{
} }
public static void logInfo(String text){ public static void logInfo(String text){
SPRS_LOGGER.log(Level.INFO, text); AA_LOGGER.log(Level.INFO, text);
} }
public static void registerItems(Item[] items){ public static void registerItems(Item[] items){
@ -92,10 +93,14 @@ public class Util{
} }
public static void register(Item item){ public static void register(Item item){
item.setCreativeTab(CreativeTab.instance);
item.setUnlocalizedName(setUnlocalizedName(item));
GameRegistry.registerItem(item, ((IName)item).getName()); GameRegistry.registerItem(item, ((IName)item).getName());
} }
public static void register(Block block, Class<? extends ItemBlock> itemBlock){ public static void register(Block block, Class<? extends ItemBlock> itemBlock){
block.setCreativeTab(CreativeTab.instance);
block.setBlockName(setUnlocalizedName(block));
GameRegistry.registerBlock(block, itemBlock, ((IName)block).getName()); GameRegistry.registerBlock(block, itemBlock, ((IName)block).getName());
} }

View file

@ -62,6 +62,9 @@ item.actuallyadditions.itemDustGold.name=Crushed Gold
item.actuallyadditions.itemDustDiamond.name=Crushed Diamond item.actuallyadditions.itemDustDiamond.name=Crushed Diamond
item.actuallyadditions.itemDustLapis.name=Crushed Lapis item.actuallyadditions.itemDustLapis.name=Crushed Lapis
item.actuallyadditions.itemDustEmerald.name=Crushed Emerald 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.shiftForInfo.desc=Press Shift for Info
tooltip.actuallyadditions.hunger.desc=Fills 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.1=Used to make Fertilizer with Mashed Food
tooltip.actuallyadditions.blockCompost.desc.2=BETA INFO: Will visually contain Compost in the Future! 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.blockMiscBlackQuartz.desc=Black, eerie Quartz! Nice for decorating.
tooltip.actuallyadditions.blockMiscBlackQuartzChiseled.desc=Black, eerie chiseled 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! 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.blockFurnaceDouble.desc=Smelts two Things simultaneously!
tooltip.actuallyadditions.itemMiscMashedFood.desc=Used to make Fertilizer 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.itemMiscDough.desc=Used to make things that involve dough.
tooltip.actuallyadditions.itemMiscPaperCone.desc=Used to store foodstuffs! tooltip.actuallyadditions.itemMiscPaperCone.desc=Used to store foodstuffs!
tooltip.actuallyadditions.itemMiscKnifeBlade.desc=Sharp like a tooth! A whale's tooth! 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.itemDustDiamond.desc=Diamond! Crushed in the Crusher!
tooltip.actuallyadditions.itemDustLapis.desc=Lapis! Crushed in the Crusher! tooltip.actuallyadditions.itemDustLapis.desc=Lapis! Crushed in the Crusher!
tooltip.actuallyadditions.itemDustEmerald.desc=Emerald! 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=Better than Bread!
achievement.actuallyadditions.smeltBaguette.desc=Bake a Baguette achievement.actuallyadditions.smeltBaguette.desc=Bake a Baguette

View file

@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 486 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 B

After

Width:  |  Height:  |  Size: 381 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 B

After

Width:  |  Height:  |  Size: 443 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 B

After

Width:  |  Height:  |  Size: 374 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 B

After

Width:  |  Height:  |  Size: 332 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 324 B

After

Width:  |  Height:  |  Size: 490 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 237 B

After

Width:  |  Height:  |  Size: 374 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 249 B

After

Width:  |  Height:  |  Size: 371 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View file

@ -1,17 +1,17 @@
[ [
{ {
"modid": "SomePrettyRandomStuff", "modid": "ActuallyAdditions",
"name": "Some Pretty Random Stuff", "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!", "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", "mcversion": "1.7.10",
"url": "https://github.com/Ellpeck/SomePrettyRandomStuff", "url": "https://github.com/Ellpeck/ActuallyAdditions",
"updateUrl": "", "updateUrl": "",
"authorList": [ "authorList": [
"Ellpeck" "Ellpeck"
], ],
"credits": "GlenthorLP for all of the awesome Graphics", "credits": "GlenthorLP for all of the awesome Graphics",
"logoFile": "assets/someprettyrandomstuff/textures/logo.png", "logoFile": "assets/actuallyadditions/textures/logo.png",
"screenshots": [ "screenshots": [
], ],
"parent":"", "parent":"",