Lots of fixes.
Prepared for 0.1.3
3
README.md
Normal 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
|
|
@ -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"
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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")
|
||||||
|
|
|
@ -51,17 +51,29 @@ 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");
|
||||||
enableBloodDrop = config.getBoolean("Blood Fragments", ConfigurationHandler.CATEGORY_MOB_DROPS, false, "If the Blood Fragments drop from Mobs");
|
enableBloodDrop = config.getBoolean("Blood Fragments", ConfigurationHandler.CATEGORY_MOB_DROPS, false, "If the Blood Fragments drop from Mobs");
|
||||||
|
|
|
@ -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){
|
||||||
|
|
|
@ -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 input : allOresOfName){
|
for(ItemStack output : allDusts){
|
||||||
if(GrinderRecipes.instance().getOutput(input, false) == null){
|
output.stackSize = 2;
|
||||||
|
for(ItemStack input : allOresOfName){
|
||||||
|
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.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 :(");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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,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){
|
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){
|
||||||
int yDiff = maxY - minY;
|
if(maxY > minY){
|
||||||
for(int i = 0; i < chancesToSpawn; i++){
|
int yDiff = maxY - minY;
|
||||||
int posX = blockXPos + random.nextInt(16);
|
for(int i = 0; i < chancesToSpawn; i++){
|
||||||
int posY = minY + random.nextInt(yDiff);
|
int posX = blockXPos + random.nextInt(16);
|
||||||
int posZ = blockZPos + random.nextInt(16);
|
int posY = minY + random.nextInt(yDiff);
|
||||||
(new WorldGenMinable(block, meta, maxVeinSize, blockIn)).generate(world, random, posX, posY, posZ);
|
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(){
|
public static void init(){
|
||||||
|
|
|
@ -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));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)){
|
||||||
|
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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])){
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
|
Before Width: | Height: | Size: 486 B After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 274 B After Width: | Height: | Size: 381 B |
Before Width: | Height: | Size: 282 B After Width: | Height: | Size: 443 B |
Before Width: | Height: | Size: 304 B After Width: | Height: | Size: 374 B |
Before Width: | Height: | Size: 267 B After Width: | Height: | Size: 332 B |
Before Width: | Height: | Size: 324 B After Width: | Height: | Size: 490 B |
Before Width: | Height: | Size: 237 B After Width: | Height: | Size: 374 B |
Before Width: | Height: | Size: 249 B After Width: | Height: | Size: 371 B |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 186 KiB After Width: | Height: | Size: 155 KiB |
After Width: | Height: | Size: 28 KiB |
|
@ -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":"",
|
||||||
|
|