From e188e86d76947a1b226f3fa49a3cfcaa2389bea3 Mon Sep 17 00:00:00 2001 From: Ellpeck Date: Tue, 17 Feb 2015 16:15:16 +0100 Subject: [PATCH] Added an automatic feeder and prep for a new block --- build.gradle | 2 +- .../ellpeck/someprettyrandomstuff/SPRS.java | 12 +- .../achievement/AchievementEvent.java | 12 +- .../achievement/AchievementSPRS.java | 4 +- .../achievement/InitAchievements.java | 18 +- .../blocks/BlockCompost.java | 39 +++-- .../blocks/BlockContainerBase.java | 7 +- .../blocks/BlockFeeder.java | 55 +++++++ .../blocks/BlockMisc.java | 85 ++++++++++ .../blocks/DefaultItemBlock.java | 4 +- .../blocks/InitBlocks.java | 13 +- .../blocks/metalists/TheMiscBlocks.java | 21 +++ .../config/ConfigValues.java | 40 +++++ .../config/ConfigurationHandler.java | 5 +- .../crafting/InitCrafting.java | 78 ++++++++- .../creative/CreativeTab.java | 2 +- .../someprettyrandomstuff/gen/OreGen.java | 13 +- .../inventory/ContainerFeeder.java | 140 ++++++++++++++++ .../inventory/GuiFeeder.java | 57 +++++++ .../inventory/GuiHandler.java | 23 ++- .../items/InitItems.java | 39 ++++- .../items/ItemFertilizer.java | 25 ++- .../items/ItemFoods.java | 30 +++- .../items/ItemKnife.java | 46 +++++- .../someprettyrandomstuff/items/ItemMisc.java | 18 +- .../items/metalists/TheMiscItems.java | 3 +- .../items/tools/ItemAxeSPRS.java | 41 +++++ .../items/tools/ItemAxeSPTS.java | 26 --- .../items/tools/ItemHoeSPRS.java | 41 +++++ .../items/tools/ItemHoeSPTS.java | 26 --- .../items/tools/ItemPickaxeSPRS.java | 41 +++++ .../items/tools/ItemPickaxeSPTS.java | 26 --- .../items/tools/ItemShovelSPRS.java | 41 +++++ .../items/tools/ItemShovelSPTS.java | 26 --- .../items/tools/ItemSwordSPRS.java | 41 +++++ .../items/tools/ItemSwordSPTS.java | 26 --- .../material/InitItemMaterials.java | 21 +++ .../proxy/ClientProxy.java | 17 -- .../tile/TileEntityBase.java | 15 +- .../tile/TileEntityCompost.java | 45 +---- .../tile/TileEntityFeeder.java | 86 ++++++++++ .../tile/TileEntityInventoryBase.java | 42 ++++- .../someprettyrandomstuff/util/Util.java | 77 ++++++--- .../blockstates/blockCompost.json | 5 - .../someprettyrandomstuff/lang/en_US.lang | 59 ++++++- .../models/block/blockCompost.json | 154 ------------------ .../models/item/blockCompost.json | 18 -- .../models/item/itemFertilizer.json | 18 -- .../models/item/itemFoodBaguette.json | 18 -- .../models/item/itemFoodBigCookie.json | 18 -- .../models/item/itemFoodCarrotJuice.json | 18 -- .../models/item/itemFoodCheese.json | 18 -- .../models/item/itemFoodChocolate.json | 18 -- .../models/item/itemFoodChocolateCake.json | 18 -- .../models/item/itemFoodFishNChips.json | 18 -- .../models/item/itemFoodFrenchFries.json | 18 -- .../models/item/itemFoodFrenchFry.json | 18 -- .../models/item/itemFoodHamburger.json | 18 -- .../models/item/itemFoodNoodle.json | 18 -- .../models/item/itemFoodPizza.json | 18 -- .../models/item/itemFoodPumpkinStew.json | 18 -- .../models/item/itemFoodSpaghetti.json | 18 -- .../item/itemFoodSubmarineSandwich.json | 18 -- .../models/item/itemFoodToast.json | 18 -- .../models/item/itemMiscCompressedIron.json | 18 -- .../models/item/itemMiscDough.json | 18 -- .../models/item/itemMiscMashedFood.json | 18 -- .../models/item/itemMiscPaperCone.json | 18 -- .../models/item/itemMiscRefinedIron.json | 18 -- .../models/item/itemMiscRefinedRedstone.json | 18 -- .../models/item/itemMiscSteel.json | 18 -- .../blocks/blockCompostFertilizer.png | Bin 0 -> 324 bytes .../blocks/blockCompostMashedFood.png | Bin 0 -> 422 bytes .../textures/blocks/blockFeeder.png | Bin 0 -> 622 bytes .../textures/blocks/blockFeederTop.png | Bin 0 -> 352 bytes .../textures/blocks/blockMiscBlackQuartz.png | Bin 0 -> 431 bytes .../blocks/blockMiscBlackQuartzChiseled.png | Bin 0 -> 432 bytes .../blocks/blockMiscBlackQuartzPillar.png | Bin 0 -> 424 bytes .../blocks/blockMiscOreBlackQuartz.png | Bin 0 -> 608 bytes .../textures/gui/guiFeeder.png | Bin 0 -> 2509 bytes .../textures/items/blockCompost.png | Bin 353 -> 375 bytes .../textures/items/itemAxeEmerald.png | Bin 0 -> 255 bytes .../textures/items/itemAxeObsidian.png | Bin 0 -> 254 bytes .../textures/items/itemHoeEmerald.png | Bin 0 -> 227 bytes .../textures/items/itemHoeObsidian.png | Bin 0 -> 228 bytes .../textures/items/itemKnife.png | Bin 0 -> 267 bytes .../textures/items/itemMiscBlackQuartz.png | Bin 0 -> 549 bytes .../textures/items/itemMiscKnifeBlade.png | Bin 0 -> 237 bytes .../textures/items/itemMiscKnifeHandle.png | Bin 0 -> 249 bytes .../textures/items/itemPickaxeEmerald.png | Bin 0 -> 271 bytes .../textures/items/itemPickaxeObsidian.png | Bin 0 -> 272 bytes .../textures/items/itemShovelEmerald.png | Bin 0 -> 230 bytes .../textures/items/itemShovelObsidian.png | Bin 0 -> 231 bytes .../textures/items/itemSwordEmerald.png | Bin 0 -> 277 bytes .../textures/items/itemSwordObsidian.png | Bin 0 -> 276 bytes .../textures/items/null.png | Bin 222 -> 0 bytes 96 files changed, 1159 insertions(+), 938 deletions(-) create mode 100644 src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockFeeder.java create mode 100644 src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockMisc.java create mode 100644 src/main/java/ellpeck/someprettyrandomstuff/blocks/metalists/TheMiscBlocks.java create mode 100644 src/main/java/ellpeck/someprettyrandomstuff/inventory/ContainerFeeder.java create mode 100644 src/main/java/ellpeck/someprettyrandomstuff/inventory/GuiFeeder.java create mode 100644 src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemAxeSPRS.java delete mode 100644 src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemAxeSPTS.java create mode 100644 src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemHoeSPRS.java delete mode 100644 src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemHoeSPTS.java create mode 100644 src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemPickaxeSPRS.java delete mode 100644 src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemPickaxeSPTS.java create mode 100644 src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemShovelSPRS.java delete mode 100644 src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemShovelSPTS.java create mode 100644 src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemSwordSPRS.java delete mode 100644 src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemSwordSPTS.java create mode 100644 src/main/java/ellpeck/someprettyrandomstuff/material/InitItemMaterials.java create mode 100644 src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityFeeder.java delete mode 100644 src/main/resources/assets/someprettyrandomstuff/blockstates/blockCompost.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/block/blockCompost.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/blockCompost.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemFertilizer.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodBaguette.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodBigCookie.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodCarrotJuice.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodCheese.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodChocolate.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodChocolateCake.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodFishNChips.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodFrenchFries.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodFrenchFry.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodHamburger.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodNoodle.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodPizza.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodPumpkinStew.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodSpaghetti.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodSubmarineSandwich.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodToast.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscCompressedIron.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscDough.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscMashedFood.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscPaperCone.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscRefinedIron.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscRefinedRedstone.json delete mode 100644 src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscSteel.json create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockCompostFertilizer.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockCompostMashedFood.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockFeeder.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockFeederTop.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockMiscBlackQuartz.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockMiscBlackQuartzChiseled.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockMiscBlackQuartzPillar.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockMiscOreBlackQuartz.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/gui/guiFeeder.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/items/itemAxeEmerald.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/items/itemAxeObsidian.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/items/itemHoeEmerald.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/items/itemHoeObsidian.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/items/itemKnife.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/items/itemMiscBlackQuartz.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/items/itemMiscKnifeBlade.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/items/itemMiscKnifeHandle.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/items/itemPickaxeEmerald.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/items/itemPickaxeObsidian.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/items/itemShovelEmerald.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/items/itemShovelObsidian.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/items/itemSwordEmerald.png create mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/items/itemSwordObsidian.png delete mode 100644 src/main/resources/assets/someprettyrandomstuff/textures/items/null.png diff --git a/build.gradle b/build.gradle index 083bff8c7..7f20ac7a7 100644 --- a/build.gradle +++ b/build.gradle @@ -22,7 +22,7 @@ group = "ellpeck.someprettyrandomstuff" archivesBaseName = "SomePrettyRandomStuff" minecraft { - version = "1.8-11.14.0.1295-1.8" + version = "1.7.10-10.13.2.1291" runDir = "idea" } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/SPRS.java b/src/main/java/ellpeck/someprettyrandomstuff/SPRS.java index 0a793cee4..8ecc36777 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/SPRS.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/SPRS.java @@ -1,5 +1,10 @@ package ellpeck.someprettyrandomstuff; +import cpw.mods.fml.common.Mod; +import cpw.mods.fml.common.SidedProxy; +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLPostInitializationEvent; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; import ellpeck.someprettyrandomstuff.achievement.AchievementEvent; import ellpeck.someprettyrandomstuff.achievement.InitAchievements; import ellpeck.someprettyrandomstuff.blocks.InitBlocks; @@ -8,14 +13,10 @@ import ellpeck.someprettyrandomstuff.crafting.InitCrafting; import ellpeck.someprettyrandomstuff.gen.OreGen; import ellpeck.someprettyrandomstuff.inventory.GuiHandler; import ellpeck.someprettyrandomstuff.items.InitItems; +import ellpeck.someprettyrandomstuff.material.InitItemMaterials; import ellpeck.someprettyrandomstuff.proxy.IProxy; import ellpeck.someprettyrandomstuff.tile.TileEntityBase; import ellpeck.someprettyrandomstuff.util.Util; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.common.SidedProxy; -import net.minecraftforge.fml.common.event.FMLInitializationEvent; -import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; -import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; @Mod(modid = Util.MOD_ID, name = Util.NAME, version = Util.VERSION) public class SPRS{ @@ -33,6 +34,7 @@ public class SPRS{ Util.logInfo("Starting PreInitialization Phase..."); ConfigurationHandler.init(event.getSuggestedConfigurationFile()); + InitItemMaterials.init(); InitBlocks.init(); InitItems.init(); proxy.preInit(); diff --git a/src/main/java/ellpeck/someprettyrandomstuff/achievement/AchievementEvent.java b/src/main/java/ellpeck/someprettyrandomstuff/achievement/AchievementEvent.java index 20bc7c6f2..ce66af3c5 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/achievement/AchievementEvent.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/achievement/AchievementEvent.java @@ -1,14 +1,14 @@ package ellpeck.someprettyrandomstuff.achievement; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.PlayerEvent; import ellpeck.someprettyrandomstuff.blocks.InitBlocks; import ellpeck.someprettyrandomstuff.items.InitItems; import ellpeck.someprettyrandomstuff.items.metalists.TheFoods; import ellpeck.someprettyrandomstuff.items.metalists.TheMiscItems; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.item.Item; -import net.minecraftforge.fml.common.FMLCommonHandler; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.common.gameevent.PlayerEvent; public class AchievementEvent{ @@ -30,6 +30,12 @@ public class AchievementEvent{ if(event.crafting.getItem() == InitItems.itemMisc && event.crafting.getItemDamage() == TheMiscItems.MASHED_FOOD.ordinal()){ event.player.addStat(InitAchievements.achievementCraftMashedFood, 1); } + if(event.crafting.getItem() == InitItems.itemMisc && event.crafting.getItemDamage() == TheMiscItems.KNIFE_BLADE.ordinal()){ + event.player.addStat(InitAchievements.achievementCraftKnifeBlade, 1); + } + if(event.crafting.getItem() == InitItems.itemKnife){ + event.player.addStat(InitAchievements.achievementCraftKnife, 1); + } if(event.crafting.getItem() == InitItems.itemFoods && event.crafting.getItemDamage() == TheFoods.SUBMARINE_SANDWICH.ordinal()){ event.player.addStat(InitAchievements.achievementCraftSubSandwich, 1); } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/achievement/AchievementSPRS.java b/src/main/java/ellpeck/someprettyrandomstuff/achievement/AchievementSPRS.java index be27ba882..1551d6d46 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/achievement/AchievementSPRS.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/achievement/AchievementSPRS.java @@ -8,7 +8,7 @@ public class AchievementSPRS extends Achievement{ public AchievementSPRS(String name, int x, int y, ItemStack displayStack, Achievement hasToHaveBefore){ super("achievement." + name, name, x, y, displayStack, hasToHaveBefore); InitAchievements.achievementList.add(this); - if(hasToHaveBefore == null) this.func_180789_a(); - this.func_180788_c(); + if(hasToHaveBefore == null) this.initIndependentStat(); + this.registerStat(); } } \ No newline at end of file diff --git a/src/main/java/ellpeck/someprettyrandomstuff/achievement/InitAchievements.java b/src/main/java/ellpeck/someprettyrandomstuff/achievement/InitAchievements.java index 51ddfc766..0426c2c3c 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/achievement/InitAchievements.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/achievement/InitAchievements.java @@ -17,6 +17,9 @@ public class InitAchievements{ public static AchievementPage theAchievementPage; public static ArrayList achievementList = new ArrayList(); + public static Achievement achievementCraftKnifeBlade; + public static Achievement achievementCraftKnife; + public static Achievement achievementCraftDough; public static Achievement achievementSmeltBaguette; public static Achievement achievementCraftSubSandwich; @@ -33,21 +36,24 @@ public class InitAchievements{ public static void init(){ Util.logInfo("Initializing Achievements..."); - achievementCraftDough = new AchievementSPRS("craftDough", 0, -3, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.DOUGH.ordinal()), null); + achievementCraftKnifeBlade = new AchievementSPRS("craftKnifeBlade", -2, 0, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_BLADE.ordinal()), null); + achievementCraftKnife = new AchievementSPRS("craftKnife", 0, 0, new ItemStack(InitItems.itemKnife), achievementCraftKnifeBlade); + + achievementCraftDough = new AchievementSPRS("craftDough", 0, -3, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.DOUGH.ordinal()), achievementCraftKnife); achievementSmeltBaguette = new AchievementSPRS("smeltBaguette", 2, -3, new ItemStack(InitItems.itemFoods, 1, TheFoods.BAGUETTE.ordinal()), achievementCraftDough); achievementCraftSubSandwich = new AchievementSPRS("craftSubSandwich", 4, -3, new ItemStack(InitItems.itemFoods, 1, TheFoods.SUBMARINE_SANDWICH.ordinal()), achievementSmeltBaguette); - achievementCraftMashedFood = new AchievementSPRS("craftMashedFood", 0, 0 , new ItemStack(InitItems.itemMisc, 1, TheMiscItems.MASHED_FOOD.ordinal()), null); - achievementCraftCompost = new AchievementSPRS("craftCompost", 2, 0, new ItemStack(InitBlocks.blockCompost), achievementCraftMashedFood); - achievementCraftFertilizer = new AchievementSPRS("craftFertilizer", 4, 0, new ItemStack(InitItems.itemFertilizer), achievementCraftCompost); + achievementCraftMashedFood = new AchievementSPRS("craftMashedFood", 3, 0, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.MASHED_FOOD.ordinal()), achievementCraftKnife); + achievementCraftCompost = new AchievementSPRS("craftCompost", 5, 0, new ItemStack(InitBlocks.blockCompost), achievementCraftMashedFood); + achievementCraftFertilizer = new AchievementSPRS("craftFertilizer", 7, 0, new ItemStack(InitItems.itemFertilizer), achievementCraftCompost); - achievementCraftPaperCone = new AchievementSPRS("craftPaperCone", 0, 3, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.PAPER_CONE.ordinal()), null); + achievementCraftPaperCone = new AchievementSPRS("craftPaperCone", 0, 3, new ItemStack(InitItems.itemMisc, 1, TheMiscItems.PAPER_CONE.ordinal()), achievementCraftKnife); achievementCraftFrenchFry = new AchievementSPRS("craftFrenchFry", 2, 3, new ItemStack(InitItems.itemFoods, 1, TheFoods.FRENCH_FRY.ordinal()), achievementCraftPaperCone); achievementCraftFrenchFries = new AchievementSPRS("craftFrenchFries", 4, 4, new ItemStack(InitItems.itemFoods, 1, TheFoods.FRENCH_FRIES.ordinal()), achievementCraftFrenchFry); achievementCraftFishNChips = new AchievementSPRS("craftFishNChips", 4, 2, new ItemStack(InitItems.itemFoods, 1, TheFoods.FISH_N_CHIPS.ordinal()), achievementCraftFrenchFry); - theAchievementPage = new AchievementPage(StatCollector.translateToLocal("achievement.page." + Util.MOD_ID), achievementList.toArray(new Achievement[achievementList.size()])); + theAchievementPage = new AchievementPage(StatCollector.translateToLocal("achievement.page." + Util.MOD_ID_LOWER), achievementList.toArray(new Achievement[achievementList.size()])); AchievementPage.registerAchievementPage(theAchievementPage); } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockCompost.java b/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockCompost.java index 9a89b41de..f5608d28b 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockCompost.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockCompost.java @@ -1,20 +1,19 @@ package ellpeck.someprettyrandomstuff.blocks; +import cpw.mods.fml.client.registry.RenderingRegistry; import ellpeck.someprettyrandomstuff.achievement.InitAchievements; import ellpeck.someprettyrandomstuff.creative.CreativeTab; import ellpeck.someprettyrandomstuff.items.ItemFertilizer; import ellpeck.someprettyrandomstuff.items.ItemMisc; import ellpeck.someprettyrandomstuff.items.metalists.TheMiscItems; import ellpeck.someprettyrandomstuff.tile.TileEntityCompost; +import net.minecraft.block.Block; import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.BlockPos; -import net.minecraft.util.EnumFacing; import net.minecraft.world.World; import java.util.List; @@ -24,25 +23,26 @@ public class BlockCompost extends BlockContainerBase{ public BlockCompost(){ super(Material.wood); this.setCreativeTab(CreativeTab.instance); - this.setUnlocalizedName("blockCompost"); + this.setBlockName("blockCompost"); this.setHarvestLevel("axe", 0); this.setHardness(1.0F); this.setStepSound(soundTypeWood); } - public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumFacing side, float hitX, float hitY, float hitZ){ + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int f6, float f7, float f8, float f9){ if(!world.isRemote){ ItemStack stackPlayer = player.getCurrentEquippedItem(); - TileEntityCompost tile = (TileEntityCompost)world.getTileEntity(pos); + TileEntityCompost tile = (TileEntityCompost)world.getTileEntity(x, y, z); //Add items to be composted - if(stackPlayer != null && stackPlayer.getItem() instanceof ItemMisc && stackPlayer.getMetadata() == TheMiscItems.MASHED_FOOD.ordinal() && (tile.slots[0] == null || (!(tile.slots[0].getItem() instanceof ItemFertilizer) && tile.slots[0].stackSize < tile.amountNeededToConvert))){ + if(stackPlayer != null && stackPlayer.getItem() instanceof ItemMisc && stackPlayer.getItemDamage() == TheMiscItems.MASHED_FOOD.ordinal() && (tile.slots[0] == null || (!(tile.slots[0].getItem() instanceof ItemFertilizer) && tile.slots[0].stackSize < tile.amountNeededToConvert))){ if(tile.slots[0] == null) tile.slots[0] = new ItemStack(stackPlayer.getItem(), 1, TheMiscItems.MASHED_FOOD.ordinal()); else tile.slots[0].stackSize++; if(!player.capabilities.isCreativeMode) player.inventory.getCurrentItem().stackSize--; } //Add Fertilizer to player's inventory - else if(stackPlayer == null && tile.slots[0] != null && tile.slots[0].getItem() instanceof ItemFertilizer){ - player.inventory.setInventorySlotContents(player.inventory.currentItem, tile.slots[0].copy()); + else if(tile.slots[0] != null && (stackPlayer == null || (stackPlayer.getItem() instanceof ItemFertilizer && stackPlayer.stackSize <= stackPlayer.getMaxStackSize() - tile.slots[0].stackSize)) && tile.slots[0].getItem() instanceof ItemFertilizer){ + if(stackPlayer == null) player.inventory.setInventorySlotContents(player.inventory.currentItem, tile.slots[0].copy()); + else player.getCurrentEquippedItem().stackSize+=tile.slots[0].stackSize; player.addStat(InitAchievements.achievementCraftFertilizer, 1); tile.slots[0] = null; } @@ -50,18 +50,18 @@ public class BlockCompost extends BlockContainerBase{ return true; } - public void addCollisionBoxesToList(World world, BlockPos pos, IBlockState state, AxisAlignedBB mask, List list, Entity collidingEntity){ + public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB mask, List list, Entity collidingEntity){ this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.3125F, 1.0F); - super.addCollisionBoxesToList(world, pos, state, mask, list, collidingEntity); + super.addCollisionBoxesToList(world, x, y, z, mask, list, collidingEntity); float f = 0.125F; this.setBlockBounds(0.0F, 0.0F, 0.0F, f, 1.0F, 1.0F); - super.addCollisionBoxesToList(world, pos, state, mask, list, collidingEntity); + super.addCollisionBoxesToList(world, x, y, z, mask, list, collidingEntity); this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, f); - super.addCollisionBoxesToList(world, pos, state, mask, list, collidingEntity); + super.addCollisionBoxesToList(world, x, y, z, mask, list, collidingEntity); this.setBlockBounds(1.0F - f, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); - super.addCollisionBoxesToList(world, pos, state, mask, list, collidingEntity); + super.addCollisionBoxesToList(world, x, y, z, mask, list, collidingEntity); this.setBlockBounds(0.0F, 0.0F, 1.0F - f, 1.0F, 1.0F, 1.0F); - super.addCollisionBoxesToList(world, pos, state, mask, list, collidingEntity); + super.addCollisionBoxesToList(world, x, y, z, mask, list, collidingEntity); this.setBlockBoundsForItemRender(); } @@ -73,15 +73,20 @@ public class BlockCompost extends BlockContainerBase{ return false; } - public boolean isFullCube(){ + public boolean renderAsNormalBlock(){ return false; } public int getRenderType(){ - return 3; + return RenderingRegistry.getNextAvailableRenderId(); } public TileEntity createNewTileEntity(World world, int meta){ return new TileEntityCompost(); } + + public void breakBlock(World world, int x, int y, int z, Block block, int par6){ + this.dropInventory(world, x, y, z); + super.breakBlock(world, x, y, z, block, par6); + } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockContainerBase.java b/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockContainerBase.java index bb55ae994..03c4f6e19 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockContainerBase.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockContainerBase.java @@ -6,7 +6,6 @@ import net.minecraft.block.material.Material; import net.minecraft.entity.item.EntityItem; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.BlockPos; import net.minecraft.world.World; import java.util.Random; @@ -17,8 +16,8 @@ public abstract class BlockContainerBase extends BlockContainer{ super(mat); } - public TileEntityInventoryBase dropInventory(World world, BlockPos blockPos){ - TileEntityInventoryBase tileEntity = (TileEntityInventoryBase) world.getTileEntity(blockPos); + public TileEntityInventoryBase dropInventory(World world, int x, int y, int z){ + TileEntityInventoryBase tileEntity = (TileEntityInventoryBase)world.getTileEntity(x, y, z); for (int i = 0; i < tileEntity.getSizeInventory(); i++){ ItemStack itemStack = tileEntity.getStackInSlot(i); if (itemStack != null && itemStack.stackSize > 0) { @@ -26,7 +25,7 @@ public abstract class BlockContainerBase extends BlockContainer{ float dX = rand.nextFloat() * 0.8F + 0.1F; float dY = rand.nextFloat() * 0.8F + 0.1F; float dZ = rand.nextFloat() * 0.8F + 0.1F; - EntityItem entityItem = new EntityItem(world, blockPos.getX() + dX, blockPos.getY() + dY, blockPos.getZ() + dZ, itemStack.copy()); + EntityItem entityItem = new EntityItem(world, x + dX, y + dY, z + dZ, itemStack.copy()); if (itemStack.hasTagCompound()) entityItem.getEntityItem().setTagCompound((NBTTagCompound) itemStack.getTagCompound().copy()); float factor = 0.05F; diff --git a/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockFeeder.java b/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockFeeder.java new file mode 100644 index 000000000..56fcb3257 --- /dev/null +++ b/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockFeeder.java @@ -0,0 +1,55 @@ +package ellpeck.someprettyrandomstuff.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ellpeck.someprettyrandomstuff.SPRS; +import ellpeck.someprettyrandomstuff.creative.CreativeTab; +import ellpeck.someprettyrandomstuff.inventory.GuiHandler; +import ellpeck.someprettyrandomstuff.tile.TileEntityFeeder; +import ellpeck.someprettyrandomstuff.util.Util; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; + +public class BlockFeeder extends BlockContainerBase{ + + private IIcon topIcon; + + public BlockFeeder(){ + super(Material.wood); + this.setBlockName("blockFeeder"); + this.setCreativeTab(CreativeTab.instance); + } + + public TileEntity createNewTileEntity(World world, int par2){ + return new TileEntityFeeder(); + } + + public IIcon getIcon(int side, int metadata){ + return (side == 0 || side == 1) ? this.topIcon : this.blockIcon; + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconReg){ + this.blockIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this)); + this.topIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this) + "Top"); + } + + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int par6, float par7, float par8, float par9){ + if(!world.isRemote){ + TileEntityFeeder feeder = (TileEntityFeeder)world.getTileEntity(x, y, z); + if (feeder != null) player.openGui(SPRS.instance, GuiHandler.FEEDER_ID, world, x, y, z); + return true; + } + return true; + } + + public void breakBlock(World world, int x, int y, int z, Block block, int par6){ + this.dropInventory(world, x, y, z); + super.breakBlock(world, x, y, z, block, par6); + } +} diff --git a/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockMisc.java b/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockMisc.java new file mode 100644 index 000000000..77fe312c7 --- /dev/null +++ b/src/main/java/ellpeck/someprettyrandomstuff/blocks/BlockMisc.java @@ -0,0 +1,85 @@ +package ellpeck.someprettyrandomstuff.blocks; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ellpeck.someprettyrandomstuff.blocks.metalists.TheMiscBlocks; +import ellpeck.someprettyrandomstuff.creative.CreativeTab; +import ellpeck.someprettyrandomstuff.items.InitItems; +import ellpeck.someprettyrandomstuff.items.metalists.TheMiscItems; +import ellpeck.someprettyrandomstuff.util.Util; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; + +import java.util.List; +import java.util.Random; + +public class BlockMisc extends Block{ + + public static final TheMiscBlocks[] allMiscBlocks = TheMiscBlocks.values(); + public IIcon[] textures = new IIcon[allMiscBlocks.length]; + + public BlockMisc(){ + super(Material.rock); + this.setBlockName("blockMisc"); + this.setCreativeTab(CreativeTab.instance); + } + + @SuppressWarnings("all") + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item item, CreativeTabs tab, List list){ + for (int j = 0; j < allMiscBlocks.length; ++j){ + list.add(new ItemStack(item, 1, j)); + } + } + + public Item getItemDropped(int meta, Random rand, int par3){ + return meta == TheMiscBlocks.ORE_QUARTZ.ordinal() ? InitItems.itemMisc : super.getItemDropped(meta, rand, par3); + } + + public int damageDropped(int meta){ + return meta == TheMiscBlocks.ORE_QUARTZ.ordinal() ? TheMiscItems.QUARTZ.ordinal() : super.damageDropped(meta); + } + + public IIcon getIcon(int side, int metadata){ + return textures[metadata]; + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconReg){ + for(int i = 0; i < textures.length; i++){ + textures[i] = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this) + allMiscBlocks[i].getName()); + } + } + + public static class ItemBlockMisc extends ItemBlock{ + + public ItemBlockMisc(Block block){ + super(block); + this.setHasSubtypes(true); + this.setMaxDamage(0); + } + + public String getUnlocalizedName(ItemStack stack){ + return this.getUnlocalizedName() + allMiscBlocks[stack.getItemDamage()].getName(); + } + + @SuppressWarnings("unchecked") + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { + if(Util.isShiftPressed()) list.add(StatCollector.translateToLocal("tooltip." + this.getUnlocalizedName(stack).substring(5) + ".desc")); + else list.add(Util.shiftForInfo()); + } + + public int getMetadata(int damage){ + return damage; + } + } +} diff --git a/src/main/java/ellpeck/someprettyrandomstuff/blocks/DefaultItemBlock.java b/src/main/java/ellpeck/someprettyrandomstuff/blocks/DefaultItemBlock.java index b07a8db94..71572450d 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/blocks/DefaultItemBlock.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/blocks/DefaultItemBlock.java @@ -1,12 +1,12 @@ package ellpeck.someprettyrandomstuff.blocks; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import java.util.List; diff --git a/src/main/java/ellpeck/someprettyrandomstuff/blocks/InitBlocks.java b/src/main/java/ellpeck/someprettyrandomstuff/blocks/InitBlocks.java index d1ab3a543..e716639e7 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/blocks/InitBlocks.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/blocks/InitBlocks.java @@ -1,20 +1,27 @@ package ellpeck.someprettyrandomstuff.blocks; +import cpw.mods.fml.common.registry.GameRegistry; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.block.Block; -import net.minecraftforge.fml.common.registry.GameRegistry; public class InitBlocks{ public static Block blockCompost; + public static Block blockMisc; + public static Block blockFeeder; public static void init(){ Util.logInfo("Initializing Blocks..."); blockCompost = new BlockCompost(); - GameRegistry.registerBlock(blockCompost, DefaultItemBlock.class, blockCompost.getUnlocalizedName().substring(5)); + GameRegistry.registerBlock(blockCompost, DefaultItemBlock.class, Util.getSubbedUnlocalized(blockCompost)); + + blockMisc = new BlockMisc(); + GameRegistry.registerBlock(blockMisc, BlockMisc.ItemBlockMisc.class, Util.getSubbedUnlocalized(blockMisc)); + + blockFeeder = new BlockFeeder(); + GameRegistry.registerBlock(blockFeeder, DefaultItemBlock.class, Util.getSubbedUnlocalized(blockFeeder)); } - } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/blocks/metalists/TheMiscBlocks.java b/src/main/java/ellpeck/someprettyrandomstuff/blocks/metalists/TheMiscBlocks.java new file mode 100644 index 000000000..6519007e1 --- /dev/null +++ b/src/main/java/ellpeck/someprettyrandomstuff/blocks/metalists/TheMiscBlocks.java @@ -0,0 +1,21 @@ +package ellpeck.someprettyrandomstuff.blocks.metalists; + +import ellpeck.someprettyrandomstuff.util.IItemEnum; + +public enum TheMiscBlocks implements IItemEnum{ + + QUARTZ_PILLAR("BlackQuartzPillar"), + QUARTZ_CHISELED("BlackQuartzChiseled"), + QUARTZ("BlackQuartz"), + ORE_QUARTZ("OreBlackQuartz"); + + public final String name; + + private TheMiscBlocks(String name){ + this.name = name; + } + + public String getName(){ + return this.name; + } +} \ No newline at end of file diff --git a/src/main/java/ellpeck/someprettyrandomstuff/config/ConfigValues.java b/src/main/java/ellpeck/someprettyrandomstuff/config/ConfigValues.java index 0aa4d61b1..0664203d3 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/config/ConfigValues.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/config/ConfigValues.java @@ -9,10 +9,30 @@ public class ConfigValues{ public static boolean[] enabledFoodRecipes = new boolean[TheFoods.values().length]; public static boolean[] enabledMiscRecipes = new boolean[TheMiscItems.values().length]; public static boolean enableCompostRecipe; + public static boolean enableKnifeRecipe; public static int tileEntityCompostAmountNeededToConvert; public static int tileEntityCompostConversionTimeNeeded; + public static int tileEntityFeederReach; + public static int tileEntityFeederTimeNeeded; + public static int tileEntityFeederThreshold; + + public static int itemKnifeMaxDamage; + + public static int toolEmeraldHarvestLevel; + public static int toolEmeraldMaxUses; + public static float toolEmeraldEfficiency; + public static float toolEmeraldDamage; + public static int toolEmeraldEnchantability; + + public static int toolObsidianHarvestLevel; + public static int toolObsidianMaxUses; + public static float toolObsidianEfficiency; + public static float toolObsidianDamage; + public static int toolObsidianEnchantability; + + public static void defineConfigValues(Configuration config){ for(int i = 0; i < enabledFoodRecipes.length; i++){ @@ -23,8 +43,28 @@ public class ConfigValues{ } enableCompostRecipe = config.getBoolean("isCompostCraftingRecipeEnabled", ConfigurationHandler.CATEGORY_BLOCKS_CRAFTING, true, "If the Crafting Recipe for the Compost is Enabled"); + enableKnifeRecipe = config.getBoolean("isKnifeCraftingRecipeEnabled", ConfigurationHandler.CATEGORY_ITEMS_CRAFTING, true, "If the Crafting Recipe for the Knife is Enabled"); tileEntityCompostAmountNeededToConvert = config.getInt("tileEntityCompostAmountNeededToConvert", ConfigurationHandler.CATEGORY_COMPOST_VALUES, 10, 1, 64, "How many items are needed in the Compost to convert to Fertilizer"); tileEntityCompostConversionTimeNeeded = config.getInt("tileEntityCompostConversionTimeNeeded", ConfigurationHandler.CATEGORY_COMPOST_VALUES, 1000, 30, 10000, "How long the Compost needs to convert to Fertilizer"); + + tileEntityFeederReach = config.getInt("tileEntityFeederReach", ConfigurationHandler.CATEGORY_FEEDER_VALUES, 5, 1, 20, "The Radius of Action of the Feeder"); + tileEntityFeederTimeNeeded = config.getInt("tileEntityFeederTimeNeeded", ConfigurationHandler.CATEGORY_FEEDER_VALUES, 100, 50, 5000, "The time spent between feeding animals with the Feeder"); + tileEntityFeederThreshold = config.getInt("tileEntityFeederThreshold", ConfigurationHandler.CATEGORY_FEEDER_VALUES, 30, 3, 500, "How many animals need to be in the area for the Feeder to stop"); + + itemKnifeMaxDamage = config.getInt("itemKnifeMaxDamage", ConfigurationHandler.CATEGORY_ITEM_DAMAGE_VALUES, 100, 5, 5000, "How often the Knife can be crafted with"); + + toolEmeraldHarvestLevel = config.getInt("toolEmeraldHarvestLevel", ConfigurationHandler.CATEGORY_TOOL_VALUES, 3, 0, 3, "What Harvest Level Emerald Tools have (0 = Wood, 1 = Stone, 2 = Iron, 3 = Diamond)"); + toolEmeraldMaxUses = config.getInt("toolEmeraldMaxUses", ConfigurationHandler.CATEGORY_TOOL_VALUES, 2000, 50, 10000, "How often Emerald Tools can be used"); + toolEmeraldEfficiency = config.getFloat("toolEmeraldEfficiency", ConfigurationHandler.CATEGORY_TOOL_VALUES, 9.0F, 1.0F, 20.0F, "How fast Emerald Tools are"); + toolEmeraldDamage = config.getFloat("toolEmeraldDamage", ConfigurationHandler.CATEGORY_TOOL_VALUES, 5.0F, 0.1F, 50.0F, "How much damage an Emerald Tool deals"); + toolEmeraldEnchantability = config.getInt("toolEmeraldEnchantability", ConfigurationHandler.CATEGORY_TOOL_VALUES, 15, 1, 30, "How enchantable an Emerald Tool is"); + + toolObsidianHarvestLevel = config.getInt("toolObsidianHarvestLevel", ConfigurationHandler.CATEGORY_TOOL_VALUES, 3, 0, 3, "What Harvest Level Obsidian Tools have (0 = Wood, 1 = Stone, 2 = Iron, 3 = Diamond)"); + toolObsidianMaxUses = config.getInt("toolObsidianMaxUses", ConfigurationHandler.CATEGORY_TOOL_VALUES, 8000, 50, 20000, "How often Obsidian Tools can be used"); + toolObsidianEfficiency = config.getFloat("toolObsidianEfficiency", ConfigurationHandler.CATEGORY_TOOL_VALUES, 4.0F, 1.0F, 20.0F, "How fast Obsidian Tools are"); + toolObsidianDamage = config.getFloat("toolObsidianDamage", ConfigurationHandler.CATEGORY_TOOL_VALUES, 2.0F, 0.1F, 50.0F, "How much damage an Obsidian Tool deals"); + toolObsidianEnchantability = config.getInt("toolObsidianEnchantability", ConfigurationHandler.CATEGORY_TOOL_VALUES, 15, 1, 30, "How enchantable an Obsidian Tool is"); + } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/config/ConfigurationHandler.java b/src/main/java/ellpeck/someprettyrandomstuff/config/ConfigurationHandler.java index bb58c8e9a..d9ed016b9 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/config/ConfigurationHandler.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/config/ConfigurationHandler.java @@ -11,11 +11,14 @@ public class ConfigurationHandler{ public static final String CATEGORY_MISC_CRAFTING = "misc crafting"; public static final String CATEGORY_COMPOST_VALUES = "compost values"; public static final String CATEGORY_BLOCKS_CRAFTING = "block crafting"; + public static final String CATEGORY_ITEMS_CRAFTING = "items crafting"; + public static final String CATEGORY_ITEM_DAMAGE_VALUES = "item damage values"; + public static final String CATEGORY_TOOL_VALUES = "tool values"; + public static final String CATEGORY_FEEDER_VALUES = "feeder values"; public static Configuration config; public static void init(File configFile){ - Util.logInfo("Grabbing Configurations..."); Configuration config = new Configuration(configFile); diff --git a/src/main/java/ellpeck/someprettyrandomstuff/crafting/InitCrafting.java b/src/main/java/ellpeck/someprettyrandomstuff/crafting/InitCrafting.java index 96bfb92de..3c5580311 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/crafting/InitCrafting.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/crafting/InitCrafting.java @@ -1,5 +1,6 @@ package ellpeck.someprettyrandomstuff.crafting; +import cpw.mods.fml.common.registry.GameRegistry; import ellpeck.someprettyrandomstuff.blocks.InitBlocks; import ellpeck.someprettyrandomstuff.config.ConfigValues; import ellpeck.someprettyrandomstuff.items.InitItems; @@ -11,84 +12,143 @@ import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; -import net.minecraftforge.fml.common.registry.GameRegistry; public class InitCrafting { public static void init(){ Util.logInfo("Initializing Crafting Recipes..."); + //Baguette if(ConfigValues.enabledFoodRecipes[TheFoods.BAGUETTE.ordinal()]) GameRegistry.addSmelting(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.DOUGH.ordinal()), new ItemStack(InitItems.itemFoods, 1, TheFoods.BAGUETTE.ordinal()), 1F); + //Dough if(ConfigValues.enabledMiscRecipes[TheMiscItems.DOUGH.ordinal()]) GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemMisc, 2, TheMiscItems.DOUGH.ordinal()), new ItemStack(Items.wheat), new ItemStack(Items.wheat)); + //Pizza if(ConfigValues.enabledFoodRecipes[TheFoods.PIZZA.ordinal()]) GameRegistry.addRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.PIZZA.ordinal()), - "HHH", "MCF", " D ", + "HKH", "MCF", " D ", 'D', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.DOUGH.ordinal()), 'M', new ItemStack(Blocks.brown_mushroom), 'C', new ItemStack(Items.carrot), 'F', new ItemStack(Items.fish, 1, Util.WILDCARD), + 'K', new ItemStack(InitItems.itemKnife, 1, Util.WILDCARD), 'H', new ItemStack(InitItems.itemFoods, 1, TheFoods.CHEESE.ordinal())); + //Hamburger if(ConfigValues.enabledFoodRecipes[TheFoods.HAMBURGER.ordinal()]) GameRegistry.addRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.HAMBURGER.ordinal()), - " T ", "CBS", " T ", + "KT ", "CBS", " T ", 'T', new ItemStack(InitItems.itemFoods, 1, TheFoods.TOAST.ordinal()), 'C', new ItemStack(InitItems.itemFoods, 1, TheFoods.CHEESE.ordinal()), 'S', new ItemStack(Blocks.leaves, 1, Util.WILDCARD), + 'K', new ItemStack(InitItems.itemKnife, 1, Util.WILDCARD), 'B', new ItemStack(Items.cooked_beef)); + //Big Cookie if(ConfigValues.enabledFoodRecipes[TheFoods.BIG_COOKIE.ordinal()]) GameRegistry.addRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.BIG_COOKIE.ordinal()), "DCD", "CDC", "DCD", 'D', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.DOUGH.ordinal()), 'C', new ItemStack(Items.dye, 1, 3)); + //Sub Sandwich if(ConfigValues.enabledFoodRecipes[TheFoods.SUBMARINE_SANDWICH.ordinal()]) GameRegistry.addRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.SUBMARINE_SANDWICH.ordinal()), - "PCP", "FBS", "PCP", + "KCP", "FBS", "PCP", 'P', new ItemStack(Items.paper), 'C', new ItemStack(InitItems.itemFoods, 1, TheFoods.CHEESE.ordinal()), 'F', new ItemStack(Items.fish, 1, Util.WILDCARD), 'B', new ItemStack(InitItems.itemFoods, 1, TheFoods.BAGUETTE.ordinal()), + 'K', new ItemStack(InitItems.itemKnife, 1, Util.WILDCARD), 'S', new ItemStack(Blocks.leaves, 1, Util.WILDCARD)); + //Paper Cone if(ConfigValues.enabledMiscRecipes[TheMiscItems.PAPER_CONE.ordinal()]) GameRegistry.addRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.PAPER_CONE.ordinal()), "P P", " P ", 'P', new ItemStack(Items.paper)); - Items.iron_sword.setContainerItem(Items.iron_sword); + //French Fry if(ConfigValues.enabledFoodRecipes[TheFoods.FRENCH_FRY.ordinal()]) GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.FRENCH_FRY.ordinal()), new ItemStack(Items.baked_potato), - new ItemStack(Items.iron_sword, 1, Util.WILDCARD)); - Items.iron_sword.setContainerItem(null); + new ItemStack(InitItems.itemKnife, 1, Util.WILDCARD)); + //Knife Handle + if(ConfigValues.enabledMiscRecipes[TheMiscItems.KNIFE_HANDLE.ordinal()]) + GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_HANDLE.ordinal()), + new ItemStack(Items.stick), + new ItemStack(Items.slime_ball)); + + //Knife Blade + if(ConfigValues.enabledMiscRecipes[TheMiscItems.KNIFE_BLADE.ordinal()]) + GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_BLADE.ordinal()), + new ItemStack(Items.iron_ingot), + new ItemStack(Items.slime_ball)); + + //Knife + if(ConfigValues.enableKnifeRecipe) + GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemKnife), + new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_BLADE.ordinal()), + new ItemStack(InitItems.itemMisc, 1, TheMiscItems.KNIFE_HANDLE.ordinal())); + + //French Fries if(ConfigValues.enabledFoodRecipes[TheFoods.FRENCH_FRIES.ordinal()]) GameRegistry.addRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.FRENCH_FRIES.ordinal()), "FFF", " P ", 'P', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.PAPER_CONE.ordinal()), 'F', new ItemStack(InitItems.itemFoods, 1, TheFoods.FRENCH_FRY.ordinal())); + //Fish N Chips if(ConfigValues.enabledFoodRecipes[TheFoods.FISH_N_CHIPS.ordinal()]) GameRegistry.addRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.FISH_N_CHIPS.ordinal()), "FIF", " P ", - 'I', new ItemStack(Items.cooked_fish, 1, Util.WILDCARD), + 'I', new ItemStack(Items.cooked_fished, 1, Util.WILDCARD), 'P', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.PAPER_CONE.ordinal()), 'F', new ItemStack(InitItems.itemFoods, 1, TheFoods.FRENCH_FRY.ordinal())); + //Compost if(ConfigValues.enableCompostRecipe) GameRegistry.addRecipe(new ItemStack(InitBlocks.blockCompost), "W W", "WFW", "WWW", 'W', new ItemStack(Blocks.planks, 1, Util.WILDCARD), 'F', new ItemStack(InitItems.itemMisc, 1, TheMiscItems.MASHED_FOOD.ordinal())); + //Cheese + if(ConfigValues.enabledFoodRecipes[TheFoods.CHEESE.ordinal()]) + GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.CHEESE.ordinal()), + new ItemStack(Items.milk_bucket)); + + //Pumpkin Stew + if(ConfigValues.enabledFoodRecipes[TheFoods.PUMPKIN_STEW.ordinal()]) + GameRegistry.addRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.PUMPKIN_STEW.ordinal()), + "P", "B", + 'P', new ItemStack(Blocks.pumpkin), + 'B', new ItemStack(Items.bowl)); + + //Carrot Juice + if(ConfigValues.enabledFoodRecipes[TheFoods.CARROT_JUICE.ordinal()]) + GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.CARROT_JUICE.ordinal()), + new ItemStack(Items.glass_bottle), new ItemStack(Items.carrot), new ItemStack(InitItems.itemKnife)); + + //Spaghetti + if(ConfigValues.enabledFoodRecipes[TheFoods.SPAGHETTI.ordinal()]) + GameRegistry.addRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.SPAGHETTI.ordinal()), + "NNN", "B", + 'N', new ItemStack(InitItems.itemFoods, 1, TheFoods.NOODLE.ordinal()), + 'B', new ItemStack(Items.bowl)); + + //Noodle + if(ConfigValues.enabledFoodRecipes[TheFoods.NOODLE.ordinal()]) + GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemFoods, 1, TheFoods.NOODLE.ordinal()), + new ItemStack(Items.wheat), new ItemStack(InitItems.itemMisc, 1, TheMiscItems.DOUGH.ordinal()), new ItemStack(InitItems.itemKnife)); + + //Mashed Food if(ConfigValues.enabledMiscRecipes[TheMiscItems.MASHED_FOOD.ordinal()]) initMashedFoodRecipes(); } @@ -98,7 +158,7 @@ public class InitCrafting { for(Object nextIterator : Item.itemRegistry){ if(nextIterator instanceof ItemFood){ ItemStack ingredient = new ItemStack((Item)nextIterator, 1, Util.WILDCARD); - GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemMisc, 4, TheMiscItems.MASHED_FOOD.ordinal()), ingredient, ingredient, ingredient, ingredient); + GameRegistry.addShapelessRecipe(new ItemStack(InitItems.itemMisc, 4, TheMiscItems.MASHED_FOOD.ordinal()), ingredient, ingredient, ingredient, ingredient, new ItemStack(InitItems.itemKnife, 1, Util.WILDCARD)); } } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/creative/CreativeTab.java b/src/main/java/ellpeck/someprettyrandomstuff/creative/CreativeTab.java index 8ae943578..e7df90488 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/creative/CreativeTab.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/creative/CreativeTab.java @@ -12,7 +12,7 @@ public class CreativeTab extends CreativeTabs{ public static CreativeTab instance = new CreativeTab(); public CreativeTab(){ - super(Util.MOD_ID); + super(Util.MOD_ID_LOWER); } public Item getTabIconItem(){ diff --git a/src/main/java/ellpeck/someprettyrandomstuff/gen/OreGen.java b/src/main/java/ellpeck/someprettyrandomstuff/gen/OreGen.java index 149b5e5fa..fca93df9c 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/gen/OreGen.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/gen/OreGen.java @@ -1,20 +1,19 @@ package ellpeck.someprettyrandomstuff.gen; +import cpw.mods.fml.common.IWorldGenerator; +import cpw.mods.fml.common.registry.GameRegistry; import ellpeck.someprettyrandomstuff.util.Util; -import net.minecraft.block.state.IBlockState; -import net.minecraft.util.BlockPos; +import net.minecraft.block.Block; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.feature.WorldGenMinable; -import net.minecraftforge.fml.common.IWorldGenerator; -import net.minecraftforge.fml.common.registry.GameRegistry; import java.util.Random; public class OreGen implements IWorldGenerator{ public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider){ - switch (world.provider.getDimensionId()){ + switch (world.provider.dimensionId){ case -1: generateNether(world, random, chunkX*16, chunkZ*16); case 0: @@ -38,13 +37,13 @@ public class OreGen implements IWorldGenerator{ } - public void addOreSpawn(IBlockState state, World world, Random random, int blockXPos, int blockZPos, int maxVeinSize, int chancesToSpawn, int minY, int maxY){ + public void addOreSpawn(Block block, int meta, int x, int y, int z, Block blockIn, World world, Random random, int blockXPos, int blockZPos, int maxVeinSize, int chancesToSpawn, int minY, int maxY){ int yDiff = maxY - minY; for(int i = 0; i < chancesToSpawn; i++){ int posX = blockXPos + random.nextInt(16); int posY = minY + random.nextInt(yDiff); int posZ = blockZPos + random.nextInt(16); - (new WorldGenMinable(state, maxVeinSize)).generate(world, random, new BlockPos(posX, posY, posZ)); + (new WorldGenMinable(block, meta, maxVeinSize, blockIn)).generate(world, random, posX, posY, posZ); } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/inventory/ContainerFeeder.java b/src/main/java/ellpeck/someprettyrandomstuff/inventory/ContainerFeeder.java new file mode 100644 index 000000000..367d5e736 --- /dev/null +++ b/src/main/java/ellpeck/someprettyrandomstuff/inventory/ContainerFeeder.java @@ -0,0 +1,140 @@ +package ellpeck.someprettyrandomstuff.inventory; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ellpeck.someprettyrandomstuff.tile.TileEntityBase; +import ellpeck.someprettyrandomstuff.tile.TileEntityFeeder; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.ICrafting; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; + +public class ContainerFeeder extends Container{ + + private TileEntityFeeder tileFeeder; + + private int lastCurrentTimer; + private int lastCurrentAnimalAmount; + private int lastIsBred; + + public ContainerFeeder(InventoryPlayer inventory, TileEntityBase tile){ + this.tileFeeder = (TileEntityFeeder)tile; + this.addSlotToContainer(new Slot(this.tileFeeder, 0, 80, 45)); + + for (int i = 0; i < 3; i++){ + for (int j = 0; j < 9; j++){ + this.addSlotToContainer(new Slot(inventory, j + i * 9 + 9, 8 + j * 18, 74 + i * 18)); + } + } + for (int i = 0; i < 9; i++){ + this.addSlotToContainer(new Slot(inventory, i, 8 + i * 18, 132)); + } + } + + public void addCraftingToCrafters(ICrafting iCraft){ + super.addCraftingToCrafters(iCraft); + iCraft.sendProgressBarUpdate(this, 0, this.tileFeeder.currentTimer); + iCraft.sendProgressBarUpdate(this, 1, this.tileFeeder.currentAnimalAmount); + iCraft.sendProgressBarUpdate(this, 2, this.tileFeeder.isBred); + } + + public void detectAndSendChanges(){ + super.detectAndSendChanges(); + for(Object crafter : this.crafters){ + ICrafting iCraft = (ICrafting)crafter; + + if(this.lastCurrentTimer != this.tileFeeder.currentTimer) iCraft.sendProgressBarUpdate(this, 0, this.tileFeeder.currentTimer); + if(this.lastCurrentAnimalAmount != this.tileFeeder.currentAnimalAmount) iCraft.sendProgressBarUpdate(this, 1, this.tileFeeder.currentAnimalAmount); + if(this.lastIsBred != this.tileFeeder.isBred) iCraft.sendProgressBarUpdate(this, 2, this.tileFeeder.isBred); + } + + this.lastCurrentTimer = this.tileFeeder.currentTimer; + this.lastCurrentAnimalAmount = this.tileFeeder.currentAnimalAmount; + this.lastIsBred = this.tileFeeder.isBred; + } + + @SideOnly(Side.CLIENT) + public void updateProgressBar(int par1, int par2){ + if(par1 == 0) this.tileFeeder.currentTimer = par2; + if(par1 == 1) this.tileFeeder.currentAnimalAmount = par2; + if(par1 == 2) this.tileFeeder.isBred = par2; + } + + public boolean canInteractWith(EntityPlayer player){ + return this.tileFeeder.isUseableByPlayer(player); + } + + public ItemStack transferStackInSlot(EntityPlayer player, int slot){ + /*ItemStack itemstack = null; + Slot slot = (Slot)this.inventorySlots.get(p_82846_2_); + + if (slot != null && slot.getHasStack()) + { + ItemStack itemstack1 = slot.getStack(); + itemstack = itemstack1.copy(); + + if (p_82846_2_ == 2) + { + if (!this.mergeItemStack(itemstack1, 3, 39, true)) + { + return null; + } + + slot.onSlotChange(itemstack1, itemstack); + } + else if (p_82846_2_ != 1 && p_82846_2_ != 0) + { + if (FurnaceRecipes.smelting().getSmeltingResult(itemstack1) != null) + { + if (!this.mergeItemStack(itemstack1, 0, 1, false)) + { + return null; + } + } + else if (TileEntityFurnace.isItemFuel(itemstack1)) + { + if (!this.mergeItemStack(itemstack1, 1, 2, false)) + { + return null; + } + } + else if (p_82846_2_ >= 3 && p_82846_2_ < 30) + { + if (!this.mergeItemStack(itemstack1, 30, 39, false)) + { + return null; + } + } + else if (p_82846_2_ >= 30 && p_82846_2_ < 39 && !this.mergeItemStack(itemstack1, 3, 30, false)) + { + return null; + } + } + else if (!this.mergeItemStack(itemstack1, 3, 39, false)) + { + return null; + } + + if (itemstack1.stackSize == 0) + { + slot.putStack((ItemStack)null); + } + else + { + slot.onSlotChanged(); + } + + if (itemstack1.stackSize == itemstack.stackSize) + { + return null; + } + + slot.onPickupFromSlot(p_82846_1_, itemstack1); + } + + return itemstack;*/ + return null; + } +} \ No newline at end of file diff --git a/src/main/java/ellpeck/someprettyrandomstuff/inventory/GuiFeeder.java b/src/main/java/ellpeck/someprettyrandomstuff/inventory/GuiFeeder.java new file mode 100644 index 000000000..14feab312 --- /dev/null +++ b/src/main/java/ellpeck/someprettyrandomstuff/inventory/GuiFeeder.java @@ -0,0 +1,57 @@ +package ellpeck.someprettyrandomstuff.inventory; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ellpeck.someprettyrandomstuff.tile.TileEntityBase; +import ellpeck.someprettyrandomstuff.tile.TileEntityFeeder; +import ellpeck.someprettyrandomstuff.util.Util; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.StatCollector; +import org.lwjgl.opengl.GL11; + +import java.util.Arrays; + +@SideOnly(Side.CLIENT) +public class GuiFeeder extends GuiContainer{ + + private static final ResourceLocation resLoc = Util.getGuiLocation("guiFeeder"); + private TileEntityFeeder tileFeeder; + + public GuiFeeder(InventoryPlayer inventory, TileEntityBase tile){ + super(new ContainerFeeder(inventory, tile)); + this.tileFeeder = (TileEntityFeeder)tile; + + this.xSize = 176; + this.ySize = 156; + } + + public void drawGuiContainerForegroundLayer(int x, int y){ + + } + + public void drawGuiContainerBackgroundLayer(float f, int x, int y){ + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + this.mc.getTextureManager().bindTexture(resLoc); + this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize); + + if(this.tileFeeder.currentTimer > 0){ + int i = this.tileFeeder.getCurrentTimerToScale(22); + this.drawTexturedModalRect(guiLeft+80, guiTop+42-i, 176, 16+22-i, 16, 22); + } + if(this.tileFeeder.isBred == 1) this.drawTexturedModalRect(guiLeft+76, guiTop+4, 176, 0, 25, 16); + + if(this.tileFeeder.currentAnimalAmount >= 2 && this.tileFeeder.currentAnimalAmount < this.tileFeeder.animalThreshold) this.drawTexturedModalRect(guiLeft + 70, guiTop + 31, 192, 16, 8, 8); + + if(this.tileFeeder.currentAnimalAmount >= this.tileFeeder.animalThreshold) this.drawTexturedModalRect(guiLeft + 70, guiTop + 31, 192, 24, 8, 8); + } + + public void drawScreen(int x, int y, float f){ + super.drawScreen(x, y, f); + if(x >= guiLeft+69 && y >= guiTop+30 && x <= guiLeft+69+10 && y <= guiTop+30+10){ + String[] array = new String[]{(this.tileFeeder.currentAnimalAmount + " " + StatCollector.translateToLocal("feeder.animal.desc") + (this.tileFeeder.currentAnimalAmount == 1 ? "" : StatCollector.translateToLocal("feeder.animalsSuffix.desc"))), ((this.tileFeeder.currentAnimalAmount >= 2 && this.tileFeeder.currentAnimalAmount < this.tileFeeder.animalThreshold) ? StatCollector.translateToLocal("feeder.enoughToBreed.desc") : (this.tileFeeder.currentAnimalAmount >= this.tileFeeder.animalThreshold ? StatCollector.translateToLocal("feeder.tooMany.desc") : StatCollector.translateToLocal("feeder.notEnough.desc")))}; + this.func_146283_a(Arrays.asList(array), x, y); + } + } +} \ No newline at end of file diff --git a/src/main/java/ellpeck/someprettyrandomstuff/inventory/GuiHandler.java b/src/main/java/ellpeck/someprettyrandomstuff/inventory/GuiHandler.java index 62c48a69b..429f503d6 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/inventory/GuiHandler.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/inventory/GuiHandler.java @@ -1,32 +1,37 @@ package ellpeck.someprettyrandomstuff.inventory; +import cpw.mods.fml.common.network.IGuiHandler; +import cpw.mods.fml.common.network.NetworkRegistry; import ellpeck.someprettyrandomstuff.SPRS; import ellpeck.someprettyrandomstuff.tile.TileEntityBase; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.util.BlockPos; import net.minecraft.world.World; -import net.minecraftforge.fml.common.network.IGuiHandler; -import net.minecraftforge.fml.common.network.NetworkRegistry; public class GuiHandler implements IGuiHandler{ - public Object getServerGuiElement(int id, EntityPlayer entityPlayer, World world, int x, int y, int z) { - TileEntityBase tile = (TileEntityBase)world.getTileEntity(new BlockPos(x, y, z)); - switch (id) { + public Object getServerGuiElement(int id, EntityPlayer entityPlayer, World world, int x, int y, int z){ + TileEntityBase tile = (TileEntityBase)world.getTileEntity(x, y, z); + switch (id){ + case FEEDER_ID: + return new ContainerFeeder(entityPlayer.inventory, tile); default: return null; } } - public Object getClientGuiElement(int id, EntityPlayer entityPlayer, World world, int x, int y, int z) { - TileEntityBase tile = (TileEntityBase)world.getTileEntity(new BlockPos(x, y, z)); - switch (id) { + public Object getClientGuiElement(int id, EntityPlayer entityPlayer, World world, int x, int y, int z){ + TileEntityBase tile = (TileEntityBase)world.getTileEntity(x, y, z); + switch (id){ + case FEEDER_ID: + return new GuiFeeder(entityPlayer.inventory, tile); default: return null; } } + public static final int FEEDER_ID = 0; + public static void init(){ Util.logInfo("Initializing GuiHandler..."); NetworkRegistry.INSTANCE.registerGuiHandler(SPRS.instance, new GuiHandler()); diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/InitItems.java b/src/main/java/ellpeck/someprettyrandomstuff/items/InitItems.java index fb8708cca..3b97361e5 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/InitItems.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/InitItems.java @@ -1,8 +1,10 @@ package ellpeck.someprettyrandomstuff.items; +import cpw.mods.fml.common.registry.GameRegistry; +import ellpeck.someprettyrandomstuff.items.tools.*; +import ellpeck.someprettyrandomstuff.material.InitItemMaterials; import ellpeck.someprettyrandomstuff.util.Util; import net.minecraft.item.Item; -import net.minecraftforge.fml.common.registry.GameRegistry; public class InitItems{ @@ -11,19 +13,46 @@ public class InitItems{ public static Item itemFoods; public static Item itemKnife; + public static Item itemPickaxeEmerald; + public static Item itemAxeEmerald; + public static Item itemShovelEmerald; + public static Item itemSwordEmerald; + public static Item itemHoeEmerald; + + public static Item itemPickaxeObsidian; + public static Item itemAxeObsidian; + public static Item itemShovelObsidian; + public static Item itemSwordObsidian; + public static Item itemHoeObsidian; + public static void init(){ Util.logInfo("Initializing Items..."); itemFertilizer = new ItemFertilizer(); - GameRegistry.registerItem(itemFertilizer, itemFertilizer.getUnlocalizedName().substring(5)); + GameRegistry.registerItem(itemFertilizer, Util.getSubbedUnlocalized(itemFertilizer)); itemMisc = new ItemMisc(); - GameRegistry.registerItem(itemMisc, itemMisc.getUnlocalizedName().substring(5)); + GameRegistry.registerItem(itemMisc, Util.getSubbedUnlocalized(itemMisc)); itemFoods = new ItemFoods(); - GameRegistry.registerItem(itemFoods, itemFoods.getUnlocalizedName().substring(5)); + GameRegistry.registerItem(itemFoods, Util.getSubbedUnlocalized(itemFoods)); itemKnife = new ItemKnife(); - GameRegistry.registerItem(itemKnife, itemKnife.getUnlocalizedName().substring(5)); + GameRegistry.registerItem(itemKnife, Util.getSubbedUnlocalized(itemKnife)); + + itemPickaxeEmerald = new ItemPickaxeSPRS(InitItemMaterials.toolMaterialEmerald, "itemPickaxeEmerald"); + itemAxeEmerald = new ItemAxeSPRS(InitItemMaterials.toolMaterialEmerald, "itemAxeEmerald"); + itemShovelEmerald = new ItemShovelSPRS(InitItemMaterials.toolMaterialEmerald, "itemShovelEmerald"); + itemSwordEmerald = new ItemSwordSPRS(InitItemMaterials.toolMaterialEmerald, "itemSwordEmerald"); + itemHoeEmerald = new ItemHoeSPRS(InitItemMaterials.toolMaterialEmerald, "itemHoeEmerald"); + Util.registerItems(new Item[]{itemPickaxeEmerald, itemAxeEmerald, itemShovelEmerald, itemSwordEmerald, itemHoeEmerald}); + + itemPickaxeObsidian = new ItemPickaxeSPRS(InitItemMaterials.toolMaterialObsidian, "itemPickaxeObsidian"); + itemAxeObsidian = new ItemAxeSPRS(InitItemMaterials.toolMaterialObsidian, "itemAxeObsidian"); + itemShovelObsidian = new ItemShovelSPRS(InitItemMaterials.toolMaterialObsidian, "itemShovelObsidian"); + itemSwordObsidian = new ItemSwordSPRS(InitItemMaterials.toolMaterialObsidian, "itemSwordObsidian"); + itemHoeObsidian = new ItemHoeSPRS(InitItemMaterials.toolMaterialObsidian, "itemHoeObsidian"); + Util.registerItems(new Item[]{itemPickaxeObsidian, itemAxeObsidian, itemShovelObsidian, itemSwordObsidian, itemHoeObsidian}); + } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/ItemFertilizer.java b/src/main/java/ellpeck/someprettyrandomstuff/items/ItemFertilizer.java index c06bdbb52..c74758763 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/ItemFertilizer.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/ItemFertilizer.java @@ -1,16 +1,16 @@ package ellpeck.someprettyrandomstuff.items; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import ellpeck.someprettyrandomstuff.creative.CreativeTab; import ellpeck.someprettyrandomstuff.util.Util; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemDye; import net.minecraft.item.ItemStack; -import net.minecraft.util.BlockPos; -import net.minecraft.util.EnumFacing; +import net.minecraft.util.IIcon; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import java.util.List; @@ -21,12 +21,12 @@ public class ItemFertilizer extends Item{ this.setCreativeTab(CreativeTab.instance); } - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, BlockPos blockPos, EnumFacing side, float hitX, float hitY, float hitZ) { - if(ItemDye.applyBonemeal(stack, world, blockPos, player)){ - if(!world.isRemote) world.playAuxSFX(2005, blockPos, 0); + 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(!world.isRemote) world.playAuxSFX(2005, x, y, z, 0); return true; } - return super.onItemUse(stack, player, world, blockPos, side, hitX, hitY, hitZ); + return super.onItemUse(stack, player, world, x, y, z, par7, par8, par9, par10); } @SuppressWarnings("unchecked") @@ -34,4 +34,13 @@ public class ItemFertilizer extends Item{ public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { list.add(Util.addStandardInformation(this)); } + + public IIcon getIcon(ItemStack stack, int pass){ + return this.itemIcon; + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconReg){ + this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this)); + } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/ItemFoods.java b/src/main/java/ellpeck/someprettyrandomstuff/items/ItemFoods.java index 166fb7263..68f76e141 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/ItemFoods.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/ItemFoods.java @@ -1,8 +1,11 @@ package ellpeck.someprettyrandomstuff.items; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import ellpeck.someprettyrandomstuff.creative.CreativeTab; import ellpeck.someprettyrandomstuff.items.metalists.TheFoods; import ellpeck.someprettyrandomstuff.util.Util; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; @@ -10,16 +13,16 @@ import net.minecraft.item.EnumAction; import net.minecraft.item.Item; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import java.util.List; public class ItemFoods extends ItemFood{ public static final TheFoods[] allFoods = TheFoods.values(); + public IIcon[] textures = new IIcon[allFoods.length]; public ItemFoods(){ super(0, 0.0F, false); @@ -31,16 +34,16 @@ public class ItemFoods extends ItemFood{ TheFoods.setReturnItems(); } - public int getHealAmount(ItemStack stack){ + public int func_150905_g(ItemStack stack){ return allFoods[stack.getItemDamage()].healAmount; } - public float getSaturationModifier(ItemStack stack){ + public float func_150906_h(ItemStack stack){ return allFoods[stack.getItemDamage()].saturation; } public EnumAction getItemUseAction(ItemStack stack){ - return allFoods[stack.getItemDamage()].getsDrunken ? EnumAction.DRINK : EnumAction.EAT; + return allFoods[stack.getItemDamage()].getsDrunken ? EnumAction.drink : EnumAction.eat; } public int getMaxItemUseDuration(ItemStack stack){ @@ -63,14 +66,14 @@ public class ItemFoods extends ItemFood{ return this.getUnlocalizedName() + allFoods[stack.getItemDamage()].name; } - public ItemStack onItemUseFinish(ItemStack stack, World world, EntityPlayer player){ - ItemStack stackToReturn = super.onItemUseFinish(stack, world, player); + public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player){ + ItemStack stackToReturn = super.onEaten(stack, world, player); ItemStack returnItem = allFoods[stack.getItemDamage()].returnItem; if (returnItem != null){ if(!player.inventory.addItemStackToInventory(returnItem.copy())){ if(!world.isRemote){ EntityItem entityItem = new EntityItem(player.worldObj, player.posX, player.posY, player.posZ, returnItem.copy()); - entityItem.setPickupDelay(0); + entityItem.delayBeforeCanPickup = 0; player.worldObj.spawnEntityInWorld(entityItem); } } @@ -88,4 +91,15 @@ public class ItemFoods extends ItemFood{ } else list.add(Util.shiftForInfo()); } + + public IIcon getIconFromDamage(int par1){ + return textures[par1]; + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconReg){ + for(int i = 0; i < textures.length; i++){ + textures[i] = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this) + allFoods[i].getName()); + } + } } \ No newline at end of file diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/ItemKnife.java b/src/main/java/ellpeck/someprettyrandomstuff/items/ItemKnife.java index cb995259b..10b150fd1 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/ItemKnife.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/ItemKnife.java @@ -1,11 +1,51 @@ package ellpeck.someprettyrandomstuff.items; -import ellpeck.someprettyrandomstuff.items.tools.ItemSwordSPTS; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ellpeck.someprettyrandomstuff.config.ConfigValues; +import ellpeck.someprettyrandomstuff.creative.CreativeTab; +import ellpeck.someprettyrandomstuff.util.Util; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; -public class ItemKnife extends ItemSwordSPTS{ +import java.util.List; + +public class ItemKnife extends Item{ public ItemKnife(){ - super(ToolMaterial.STONE, "itemKnife"); + this.setUnlocalizedName("itemKnife"); + this.setMaxDamage(ConfigValues.itemKnifeMaxDamage); + this.setCreativeTab(CreativeTab.instance); + this.setMaxStackSize(1); this.setContainerItem(this); } + + public ItemStack getContainerItem(ItemStack stack){ + ItemStack theStack = stack.copy(); + theStack.setItemDamage(theStack.getItemDamage() + 1); + theStack.stackSize = 1; + return theStack; + } + + @SuppressWarnings("unchecked") + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { + list.add(Util.addStandardInformation(this)); + } + + public boolean getShareTag(){ + return true; + } + + public IIcon getIcon(ItemStack stack, int pass){ + return this.itemIcon; + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconReg){ + this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this)); + } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/ItemMisc.java b/src/main/java/ellpeck/someprettyrandomstuff/items/ItemMisc.java index f15e7314d..5f3fe1979 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/ItemMisc.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/ItemMisc.java @@ -1,21 +1,24 @@ package ellpeck.someprettyrandomstuff.items; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import ellpeck.someprettyrandomstuff.creative.CreativeTab; import ellpeck.someprettyrandomstuff.items.metalists.TheMiscItems; import ellpeck.someprettyrandomstuff.util.Util; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import java.util.List; public class ItemMisc extends Item{ public static final TheMiscItems[] allMiscItems = TheMiscItems.values(); + public IIcon[] textures = new IIcon[allMiscItems.length]; public ItemMisc(){ this.setUnlocalizedName("itemMisc"); @@ -45,4 +48,15 @@ public class ItemMisc extends Item{ if(Util.isShiftPressed()) list.add(StatCollector.translateToLocal("tooltip." + this.getUnlocalizedName(stack).substring(5) + ".desc")); else list.add(Util.shiftForInfo()); } + + public IIcon getIconFromDamage(int par1){ + return textures[par1]; + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconReg){ + for(int i = 0; i < textures.length; i++){ + textures[i] = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this) + allMiscItems[i].getName()); + } + } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/metalists/TheMiscItems.java b/src/main/java/ellpeck/someprettyrandomstuff/items/metalists/TheMiscItems.java index 26b275977..7cadccf5f 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/metalists/TheMiscItems.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/metalists/TheMiscItems.java @@ -12,7 +12,8 @@ public enum TheMiscItems implements IItemEnum{ STEEL("Steel"), KNIFE_BLADE("KnifeBlade"), KNIFE_HANDLE("KnifeHandle"), - DOUGH("Dough"); + DOUGH("Dough"), + QUARTZ("BlackQuartz"); public final String name; diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemAxeSPRS.java b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemAxeSPRS.java new file mode 100644 index 000000000..bba838df8 --- /dev/null +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemAxeSPRS.java @@ -0,0 +1,41 @@ +package ellpeck.someprettyrandomstuff.items.tools; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ellpeck.someprettyrandomstuff.creative.CreativeTab; +import ellpeck.someprettyrandomstuff.util.Util; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemAxe; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; + +import java.util.List; + +public class ItemAxeSPRS extends ItemAxe{ + + public ItemAxeSPRS(ToolMaterial toolMat, String unlocalizedName){ + super(toolMat); + this.setUnlocalizedName(unlocalizedName); + this.setCreativeTab(CreativeTab.instance); + } + + @SuppressWarnings("unchecked") + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { + list.add(Util.addStandardInformation(this)); + if(Util.isShiftPressed()){ + list.add(StatCollector.translateToLocal("tooltip.durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); + } + } + + public IIcon getIcon(ItemStack stack, int pass){ + return this.itemIcon; + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconReg){ + this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this)); + } +} diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemAxeSPTS.java b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemAxeSPTS.java deleted file mode 100644 index 5bfb40505..000000000 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemAxeSPTS.java +++ /dev/null @@ -1,26 +0,0 @@ -package ellpeck.someprettyrandomstuff.items.tools; - -import ellpeck.someprettyrandomstuff.creative.CreativeTab; -import ellpeck.someprettyrandomstuff.util.Util; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemAxe; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import java.util.List; - -public class ItemAxeSPTS extends ItemAxe{ - - public ItemAxeSPTS(ToolMaterial toolMat, String unlocalizedName){ - super(toolMat); - this.setUnlocalizedName(unlocalizedName); - this.setCreativeTab(CreativeTab.instance); - } - - @SuppressWarnings("unchecked") - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { - Util.addStandardInformation(this); - } -} diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemHoeSPRS.java b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemHoeSPRS.java new file mode 100644 index 000000000..24dd654e9 --- /dev/null +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemHoeSPRS.java @@ -0,0 +1,41 @@ +package ellpeck.someprettyrandomstuff.items.tools; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ellpeck.someprettyrandomstuff.creative.CreativeTab; +import ellpeck.someprettyrandomstuff.util.Util; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemHoe; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; + +import java.util.List; + +public class ItemHoeSPRS extends ItemHoe{ + + public ItemHoeSPRS(ToolMaterial toolMat, String unlocalizedName){ + super(toolMat); + this.setUnlocalizedName(unlocalizedName); + this.setCreativeTab(CreativeTab.instance); + } + + @SuppressWarnings("unchecked") + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){ + list.add(Util.addStandardInformation(this)); + if(Util.isShiftPressed()){ + list.add(StatCollector.translateToLocal("tooltip.durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); + } + } + + public IIcon getIcon(ItemStack stack, int pass){ + return this.itemIcon; + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconReg){ + this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this)); + } +} diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemHoeSPTS.java b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemHoeSPTS.java deleted file mode 100644 index f4de5b491..000000000 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemHoeSPTS.java +++ /dev/null @@ -1,26 +0,0 @@ -package ellpeck.someprettyrandomstuff.items.tools; - -import ellpeck.someprettyrandomstuff.creative.CreativeTab; -import ellpeck.someprettyrandomstuff.util.Util; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemHoe; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import java.util.List; - -public class ItemHoeSPTS extends ItemHoe{ - - public ItemHoeSPTS(ToolMaterial toolMat, String unlocalizedName){ - super(toolMat); - this.setUnlocalizedName(unlocalizedName); - this.setCreativeTab(CreativeTab.instance); - } - - @SuppressWarnings("unchecked") - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){ - Util.addStandardInformation(this); - } -} diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemPickaxeSPRS.java b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemPickaxeSPRS.java new file mode 100644 index 000000000..43f0cfbca --- /dev/null +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemPickaxeSPRS.java @@ -0,0 +1,41 @@ +package ellpeck.someprettyrandomstuff.items.tools; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ellpeck.someprettyrandomstuff.creative.CreativeTab; +import ellpeck.someprettyrandomstuff.util.Util; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemPickaxe; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; + +import java.util.List; + +public class ItemPickaxeSPRS extends ItemPickaxe{ + + public ItemPickaxeSPRS(ToolMaterial toolMat, String unlocalizedName){ + super(toolMat); + this.setUnlocalizedName(unlocalizedName); + this.setCreativeTab(CreativeTab.instance); + } + + @SuppressWarnings("unchecked") + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { + list.add(Util.addStandardInformation(this)); + if(Util.isShiftPressed()){ + list.add(StatCollector.translateToLocal("tooltip.durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); + } + } + + public IIcon getIcon(ItemStack stack, int pass){ + return this.itemIcon; + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconReg){ + this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this)); + } +} diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemPickaxeSPTS.java b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemPickaxeSPTS.java deleted file mode 100644 index 1e684a18f..000000000 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemPickaxeSPTS.java +++ /dev/null @@ -1,26 +0,0 @@ -package ellpeck.someprettyrandomstuff.items.tools; - -import ellpeck.someprettyrandomstuff.creative.CreativeTab; -import ellpeck.someprettyrandomstuff.util.Util; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemPickaxe; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import java.util.List; - -public class ItemPickaxeSPTS extends ItemPickaxe{ - - public ItemPickaxeSPTS(ToolMaterial toolMat, String unlocalizedName){ - super(toolMat); - this.setUnlocalizedName(unlocalizedName); - this.setCreativeTab(CreativeTab.instance); - } - - @SuppressWarnings("unchecked") - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { - Util.addStandardInformation(this); - } -} diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemShovelSPRS.java b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemShovelSPRS.java new file mode 100644 index 000000000..ac8d6654d --- /dev/null +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemShovelSPRS.java @@ -0,0 +1,41 @@ +package ellpeck.someprettyrandomstuff.items.tools; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ellpeck.someprettyrandomstuff.creative.CreativeTab; +import ellpeck.someprettyrandomstuff.util.Util; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemSpade; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; + +import java.util.List; + +public class ItemShovelSPRS extends ItemSpade{ + + public ItemShovelSPRS(ToolMaterial toolMat, String unlocalizedName){ + super(toolMat); + this.setUnlocalizedName(unlocalizedName); + this.setCreativeTab(CreativeTab.instance); + } + + @SuppressWarnings("unchecked") + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { + list.add(Util.addStandardInformation(this)); + if(Util.isShiftPressed()){ + list.add(StatCollector.translateToLocal("tooltip.durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); + } + } + + public IIcon getIcon(ItemStack stack, int pass){ + return this.itemIcon; + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconReg){ + this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this)); + } +} diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemShovelSPTS.java b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemShovelSPTS.java deleted file mode 100644 index 53356182e..000000000 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemShovelSPTS.java +++ /dev/null @@ -1,26 +0,0 @@ -package ellpeck.someprettyrandomstuff.items.tools; - -import ellpeck.someprettyrandomstuff.creative.CreativeTab; -import ellpeck.someprettyrandomstuff.util.Util; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemSpade; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import java.util.List; - -public class ItemShovelSPTS extends ItemSpade{ - - public ItemShovelSPTS(ToolMaterial toolMat, String unlocalizedName){ - super(toolMat); - this.setUnlocalizedName(unlocalizedName); - this.setCreativeTab(CreativeTab.instance); - } - - @SuppressWarnings("unchecked") - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld) { - Util.addStandardInformation(this); - } -} diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemSwordSPRS.java b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemSwordSPRS.java new file mode 100644 index 000000000..f83a426aa --- /dev/null +++ b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemSwordSPRS.java @@ -0,0 +1,41 @@ +package ellpeck.someprettyrandomstuff.items.tools; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ellpeck.someprettyrandomstuff.creative.CreativeTab; +import ellpeck.someprettyrandomstuff.util.Util; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ItemSword; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; + +import java.util.List; + +public class ItemSwordSPRS extends ItemSword{ + + public ItemSwordSPRS(ToolMaterial toolMat, String unlocalizedName){ + super(toolMat); + this.setUnlocalizedName(unlocalizedName); + this.setCreativeTab(CreativeTab.instance); + } + + @SuppressWarnings("unchecked") + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){ + list.add(Util.addStandardInformation(this)); + if(Util.isShiftPressed()){ + list.add(StatCollector.translateToLocal("tooltip.durability.desc") + ": " + (this.getMaxDamage()-this.getDamage(stack)) + "/" + this.getMaxDamage()); + } + } + + public IIcon getIcon(ItemStack stack, int pass){ + return this.itemIcon; + } + + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister iconReg){ + this.itemIcon = iconReg.registerIcon(Util.MOD_ID_LOWER + ":" + Util.getSubbedUnlocalized(this)); + } +} diff --git a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemSwordSPTS.java b/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemSwordSPTS.java deleted file mode 100644 index 607924dce..000000000 --- a/src/main/java/ellpeck/someprettyrandomstuff/items/tools/ItemSwordSPTS.java +++ /dev/null @@ -1,26 +0,0 @@ -package ellpeck.someprettyrandomstuff.items.tools; - -import ellpeck.someprettyrandomstuff.creative.CreativeTab; -import ellpeck.someprettyrandomstuff.util.Util; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.item.ItemSword; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import java.util.List; - -public class ItemSwordSPTS extends ItemSword{ - - public ItemSwordSPTS(ToolMaterial toolMat, String unlocalizedName){ - super(toolMat); - this.setUnlocalizedName(unlocalizedName); - this.setCreativeTab(CreativeTab.instance); - } - - @SuppressWarnings("unchecked") - @SideOnly(Side.CLIENT) - public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean isHeld){ - Util.addStandardInformation(this); - } -} diff --git a/src/main/java/ellpeck/someprettyrandomstuff/material/InitItemMaterials.java b/src/main/java/ellpeck/someprettyrandomstuff/material/InitItemMaterials.java new file mode 100644 index 000000000..65f20775b --- /dev/null +++ b/src/main/java/ellpeck/someprettyrandomstuff/material/InitItemMaterials.java @@ -0,0 +1,21 @@ +package ellpeck.someprettyrandomstuff.material; + +import ellpeck.someprettyrandomstuff.config.ConfigValues; +import ellpeck.someprettyrandomstuff.util.Util; +import net.minecraft.item.Item.ToolMaterial; +import net.minecraftforge.common.util.EnumHelper; + +public class InitItemMaterials{ + + public static ToolMaterial toolMaterialEmerald; + public static ToolMaterial toolMaterialObsidian; + + public static void init(){ + Util.logInfo("Initializing Materials..."); + + toolMaterialEmerald = EnumHelper.addToolMaterial("toolMaterialEmerald", ConfigValues.toolEmeraldHarvestLevel, ConfigValues.toolEmeraldMaxUses, ConfigValues.toolEmeraldEfficiency, ConfigValues.toolEmeraldDamage, ConfigValues.toolEmeraldEnchantability); + toolMaterialObsidian = EnumHelper.addToolMaterial("toolMaterialObsidian", ConfigValues.toolObsidianHarvestLevel, ConfigValues.toolObsidianMaxUses, ConfigValues.toolObsidianEfficiency, ConfigValues.toolObsidianDamage, ConfigValues.toolObsidianEnchantability); + + } + +} diff --git a/src/main/java/ellpeck/someprettyrandomstuff/proxy/ClientProxy.java b/src/main/java/ellpeck/someprettyrandomstuff/proxy/ClientProxy.java index 55ce9b29d..25423820a 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/proxy/ClientProxy.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/proxy/ClientProxy.java @@ -1,31 +1,14 @@ package ellpeck.someprettyrandomstuff.proxy; -import ellpeck.someprettyrandomstuff.blocks.InitBlocks; -import ellpeck.someprettyrandomstuff.items.InitItems; -import ellpeck.someprettyrandomstuff.items.ItemFoods; -import ellpeck.someprettyrandomstuff.items.ItemMisc; -import ellpeck.someprettyrandomstuff.util.Util; -import net.minecraft.item.Item; - @SuppressWarnings("unused") public class ClientProxy implements IProxy{ public void preInit(){ - Util.logInfo("PreInitializing Textures..."); - Util.preInitIcons(InitItems.itemMisc, ItemMisc.allMiscItems); - Util.preInitIcons(InitItems.itemFoods, ItemFoods.allFoods); } public void init(){ - Util.logInfo("Initializing Textures..."); - Util.initIcons(InitItems.itemMisc, ItemMisc.allMiscItems); - Util.initIcons(InitItems.itemFoods, ItemFoods.allFoods); - - Util.initIcons(InitItems.itemFertilizer); - Util.initIcons(Item.getItemFromBlock(InitBlocks.blockCompost)); } public void postInit(){ - Util.logInfo("PostInitializing Textures..."); } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityBase.java b/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityBase.java index 859a1e158..4af467c52 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityBase.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityBase.java @@ -1,28 +1,35 @@ package ellpeck.someprettyrandomstuff.tile; +import cpw.mods.fml.common.registry.GameRegistry; import ellpeck.someprettyrandomstuff.util.Util; +import net.minecraft.block.Block; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.fml.common.registry.GameRegistry; +import net.minecraft.world.World; public abstract class TileEntityBase extends TileEntity{ public Packet getDescriptionPacket(){ NBTTagCompound compound = new NBTTagCompound(); this.writeToNBT(compound); - return new S35PacketUpdateTileEntity(this.getPos(), this.getBlockMetadata(), compound); + return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, this.getBlockMetadata(), compound); } public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity packet){ super.onDataPacket(net, packet); - this.readFromNBT(packet.getNbtCompound()); + this.readFromNBT(packet.func_148857_g()); + } + + public boolean shouldRefresh(Block oldBlock, Block newBlock, int oldMeta, int newMeta, World world, int x, int y, int z){ + return false; } public static void init(){ Util.logInfo("Registering TileEntities..."); - GameRegistry.registerTileEntity(TileEntityCompost.class, Util.MOD_ID + ":tileEntityCompost"); + GameRegistry.registerTileEntity(TileEntityCompost.class, Util.MOD_ID_LOWER + ":tileEntityCompost"); + GameRegistry.registerTileEntity(TileEntityFeeder.class, Util.MOD_ID_LOWER + ":tileEntityFeeder"); } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityCompost.java b/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityCompost.java index 1af495f38..f06b85087 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityCompost.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityCompost.java @@ -3,13 +3,10 @@ package ellpeck.someprettyrandomstuff.tile; import ellpeck.someprettyrandomstuff.config.ConfigValues; import ellpeck.someprettyrandomstuff.items.InitItems; import ellpeck.someprettyrandomstuff.items.ItemFertilizer; -import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.server.gui.IUpdatePlayerListBox; -import net.minecraft.util.IChatComponent; -public class TileEntityCompost extends TileEntityInventoryBase implements IUpdatePlayerListBox{ +public class TileEntityCompost extends TileEntityInventoryBase{ public final int amountNeededToConvert = ConfigValues.tileEntityCompostAmountNeededToConvert; public final int conversionTimeNeeded = ConfigValues.tileEntityCompostConversionTimeNeeded; @@ -17,10 +14,10 @@ public class TileEntityCompost extends TileEntityInventoryBase implements IUpdat public int conversionTime; public TileEntityCompost(){ - this.slots = new ItemStack[1]; + super(1, "tileEntityCompost"); } - public void update(){ + public void updateEntity(){ if(!worldObj.isRemote){ if(this.slots[0] != null && !(this.slots[0].getItem() instanceof ItemFertilizer) && this.slots[0].stackSize >= this.amountNeededToConvert){ this.conversionTime++; @@ -41,40 +38,4 @@ public class TileEntityCompost extends TileEntityInventoryBase implements IUpdat super.readFromNBT(compound); this.conversionTime = compound.getInteger("ConversionTime"); } - - public void openInventory(EntityPlayer player){ - - } - - public void closeInventory(EntityPlayer player){ - - } - - public int getField(int id){ - return 0; - } - - public void setField(int id, int value){ - - } - - public int getFieldCount(){ - return 0; - } - - public void clear(){ - - } - - public String getName(){ - return null; - } - - public boolean hasCustomName(){ - return false; - } - - public IChatComponent getDisplayName(){ - return null; - } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityFeeder.java b/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityFeeder.java new file mode 100644 index 000000000..51b3f24a4 --- /dev/null +++ b/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityFeeder.java @@ -0,0 +1,86 @@ +package ellpeck.someprettyrandomstuff.tile; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ellpeck.someprettyrandomstuff.config.ConfigValues; +import net.minecraft.entity.passive.EntityAnimal; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.AxisAlignedBB; + +import java.util.List; +import java.util.Random; + +public class TileEntityFeeder extends TileEntityInventoryBase{ + + public int reach = ConfigValues.tileEntityFeederReach; + public int timerGoal = ConfigValues.tileEntityFeederTimeNeeded; + public int animalThreshold = ConfigValues.tileEntityFeederThreshold; + + public int currentTimer; + public int currentAnimalAmount; + //Is 0 or 1, gets sent to the GUI for display + public int isBred; + + public TileEntityFeeder(){ + super(1, "tileEntityFeeder"); + } + + @SuppressWarnings("unchecked") + public void updateEntity(){ + if(!worldObj.isRemote){ + List animals = worldObj.getEntitiesWithinAABB(EntityAnimal.class, AxisAlignedBB.getBoundingBox(this.xCoord - reach, this.yCoord - reach, this.zCoord - reach, this.xCoord + reach, this.yCoord + reach, this.zCoord + reach)); + if(animals != null){ + this.currentAnimalAmount = animals.size(); + if(this.currentAnimalAmount >= 2 && this.slots[0] != null){ + if(this.currentAnimalAmount < this.animalThreshold){ + if(this.currentTimer >= this.timerGoal){ + this.currentTimer = 0; + EntityAnimal randomAnimal = animals.get(new Random().nextInt(this.currentAnimalAmount)); + if(!randomAnimal.isInLove() && randomAnimal.getGrowingAge() == 0 && randomAnimal.isBreedingItem(this.slots[0])){ + randomAnimal.func_146082_f(null); + this.slots[0].stackSize--; + if(this.slots[0].stackSize == 0) this.slots[0] = this.slots[0].getItem().getContainerItem(this.slots[0]); + + this.isBred = 1; + Random rand = new Random(); + for(int i = 0; i < 7; i++){ + double d = rand.nextGaussian() * 0.02D; + double d1 = rand.nextGaussian() * 0.02D; + double d2 = rand.nextGaussian() * 0.02D; + worldObj.spawnParticle("heart", (randomAnimal.posX + (double)(rand.nextFloat() * randomAnimal.width * 2.0F)) - randomAnimal.width, randomAnimal.posY + 0.5D + (double)(rand.nextFloat() * randomAnimal.height), (randomAnimal.posZ + (double)(rand.nextFloat() * randomAnimal.width * 2.0F)) - randomAnimal.width, d, d1, d2); + } + } + } + else{ + if(this.currentTimer == timerGoal/10) this.isBred = 0; + this.currentTimer++; + } + } + else{ + this.currentTimer = 0; + this.isBred = 0; + } + } + else{ + this.currentTimer = 0; + this.isBred = 0; + } + } + } + } + + @SideOnly(Side.CLIENT) + public int getCurrentTimerToScale(int i){ + return this.currentTimer * i / this.timerGoal; + } + + public void writeToNBT(NBTTagCompound compound){ + super.writeToNBT(compound); + compound.setInteger("Timer", this.currentTimer); + } + + public void readFromNBT(NBTTagCompound compound){ + super.readFromNBT(compound); + this.currentTimer = compound.getInteger("Timer"); + } +} diff --git a/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityInventoryBase.java b/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityInventoryBase.java index ae634da33..06887f32d 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityInventoryBase.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/tile/TileEntityInventoryBase.java @@ -9,6 +9,12 @@ import net.minecraft.nbt.NBTTagList; public abstract class TileEntityInventoryBase extends TileEntityBase implements IInventory{ public ItemStack slots[]; + public String name; + + public TileEntityInventoryBase(int slots, String name){ + this.initializeSlots(slots); + this.name = name; + } public void writeToNBT(NBTTagCompound compound){ super.writeToNBT(compound); @@ -36,19 +42,19 @@ public abstract class TileEntityInventoryBase extends TileEntityBase implements } } - public int getInventoryStackLimit() { + public int getInventoryStackLimit(){ return 64; } - public boolean isUseableByPlayer(EntityPlayer player) { - return worldObj.getTileEntity(this.getPos()) == this && player.getDistanceSq(this.getPos().getX() + 0.5D, this.getPos().getY() + 0.5D, this.getPos().getZ() + 0.5D) <= 64; + public boolean isUseableByPlayer(EntityPlayer player){ + return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64; } - public boolean isItemValidForSlot(int i, ItemStack stack) { + public boolean isItemValidForSlot(int i, ItemStack stack){ return false; } - public ItemStack getStackInSlotOnClosing(int i) { + public ItemStack getStackInSlotOnClosing(int i){ return getStackInSlot(i); } @@ -56,15 +62,15 @@ public abstract class TileEntityInventoryBase extends TileEntityBase implements this.slots[i] = stack; } - public int getSizeInventory() { + public int getSizeInventory(){ return slots.length; } - public ItemStack getStackInSlot(int i) { + public ItemStack getStackInSlot(int i){ return slots[i]; } - public ItemStack decrStackSize(int i, int j) { + public ItemStack decrStackSize(int i, int j){ if (slots[i] != null) { ItemStack stackAt; if (slots[i].stackSize <= j) { @@ -80,4 +86,24 @@ public abstract class TileEntityInventoryBase extends TileEntityBase implements } return null; } + + public void initializeSlots(int itemAmount){ + this.slots = new ItemStack[itemAmount]; + } + + public String getInventoryName(){ + return this.name; + } + + public boolean hasCustomInventoryName(){ + return false; + } + + public void openInventory(){ + + } + + public void closeInventory(){ + + } } diff --git a/src/main/java/ellpeck/someprettyrandomstuff/util/Util.java b/src/main/java/ellpeck/someprettyrandomstuff/util/Util.java index 7d00f02fa..ced8edd5e 100644 --- a/src/main/java/ellpeck/someprettyrandomstuff/util/Util.java +++ b/src/main/java/ellpeck/someprettyrandomstuff/util/Util.java @@ -1,28 +1,51 @@ package ellpeck.someprettyrandomstuff.util; -import net.minecraft.client.Minecraft; -import net.minecraft.client.resources.model.ModelBakery; -import net.minecraft.client.resources.model.ModelResourceLocation; +import cpw.mods.fml.common.FMLCommonHandler; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import net.minecraft.block.Block; import net.minecraft.item.Item; +import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; -import net.minecraftforge.fml.common.FMLCommonHandler; -import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.oredict.OreDictionary; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.lwjgl.input.Keyboard; +@SuppressWarnings("unused") public class Util{ + public static final String VERSION = "1.7.10-0.0.1"; + public static final String MOD_ID = "SomePrettyRandomStuff"; public static final String NAME = "Some Pretty Random Stuff"; - public static final String VERSION = "1.8-0.0.1"; + public static final String MOD_ID_LOWER = MOD_ID.toLowerCase(); public static final Logger SPRS_LOGGER = LogManager.getLogger(MOD_ID); public static final int WILDCARD = OreDictionary.WILDCARD_VALUE; + public static final String BLACK = (char)167 + "0"; + public static final String BLUE = (char)167 + "1"; + public static final String GREEN = (char)167 + "2"; + public static final String TEAL = (char)167 + "3"; + public static final String RED = (char)167 + "4"; + public static final String PURPLE = (char)167 + "5"; + public static final String ORANGE = (char)167 + "6"; + public static final String LIGHT_GRAY = (char)167 + "7"; + public static final String GRAY = (char)167 + "8"; + public static final String LIGHT_BLUE = (char)167 + "9"; + public static final String BRIGHT_GREEN = (char)167 + "a"; + public static final String BRIGHT_BLUE = (char)167 + "b"; + public static final String LIGHT_RED = (char)167 + "c"; + public static final String PINK = (char)167 + "d"; + public static final String YELLOW = (char)167 + "e"; + public static final String WHITE = (char)167 + "f"; + public static final String BOLD = (char)167 + "l"; + public static final String UNDERLINE = (char)167 + "n"; + public static final String ITALIC = (char)167 + "o"; + public static boolean isShiftPressed(){ return Keyboard.isKeyDown(Keyboard.KEY_LSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_RSHIFT); } @@ -33,32 +56,14 @@ public class Util{ } public static String shiftForInfo(){ - return (char)167+"2" + (char)167+"o" + StatCollector.translateToLocal("tooltip.shiftForInfo.desc"); + return GREEN + ITALIC + StatCollector.translateToLocal("tooltip.shiftForInfo.desc"); } public static String addStandardInformation(Item item){ - if(isShiftPressed()) return StatCollector.translateToLocal("tooltip." + item.getUnlocalizedName().substring(5) + ".desc"); + if(isShiftPressed()) return StatCollector.translateToLocal("tooltip." + getSubbedUnlocalized(item) + ".desc"); else return shiftForInfo(); } - public static void preInitIcons(Item item, IItemEnum[] theArray){ - String[] bakeryArray = new String[theArray.length]; - for (int j = 0; j < theArray.length; j++){ - bakeryArray[j] = Util.MOD_ID + ":" + item.getUnlocalizedName().substring(5) + theArray[j].getName(); - } - ModelBakery.addVariantName(item, bakeryArray); - } - - public static void initIcons(Item item, IItemEnum[] theArray){ - for(int j = 0; j < theArray.length; j++){ - Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, j, new ModelResourceLocation(Util.MOD_ID + ":" + item.getUnlocalizedName().substring(5) + theArray[j].getName(), "inventory")); - } - } - - public static void initIcons(Item item){ - Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(Util.MOD_ID + ":" + item.getUnlocalizedName().substring(5), "inventory")); - } - public static void logInfo(String text){ SPRS_LOGGER.log(Level.INFO, text); } @@ -66,4 +71,22 @@ public class Util{ public static boolean isClientSide(){ return FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT; } -} + + public static String getSubbedUnlocalized(Item item){ + return item.getUnlocalizedName().substring(5); + } + + public static String getSubbedUnlocalized(Block block){ + return block.getUnlocalizedName().substring(5); + } + + public static void registerItems(Item[] items){ + for(Item item : items){ + GameRegistry.registerItem(item, getSubbedUnlocalized(item)); + } + } + + public static ResourceLocation getGuiLocation(String file){ + return new ResourceLocation(MOD_ID_LOWER, "textures/gui/" + file + ".png"); + } +} \ No newline at end of file diff --git a/src/main/resources/assets/someprettyrandomstuff/blockstates/blockCompost.json b/src/main/resources/assets/someprettyrandomstuff/blockstates/blockCompost.json deleted file mode 100644 index 66cc4bef6..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/blockstates/blockCompost.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "normal": { "model": "someprettyrandomstuff:blockCompost" } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/lang/en_US.lang b/src/main/resources/assets/someprettyrandomstuff/lang/en_US.lang index ee72201f8..74314678e 100644 --- a/src/main/resources/assets/someprettyrandomstuff/lang/en_US.lang +++ b/src/main/resources/assets/someprettyrandomstuff/lang/en_US.lang @@ -1,7 +1,12 @@ -itemGroup.SomePrettyRandomStuff=SomePrettyRandomStuff -achievement.page.SomePrettyRandomStuff=SomePrettyRandomStuff +itemGroup.someprettyrandomstuff=SomePrettyRandomStuff +achievement.page.someprettyrandomstuff=SomePrettyRandomStuff tile.blockCompost.name=Compost +tile.blockMiscOreBlackQuartz.name=Black Quartz Ore +tile.blockMiscBlackQuartz.name=Block of Black Quartz +tile.blockMiscBlackQuartzChiseled.name=Chiseled Block of Black Quartz +tile.blockMiscBlackQuartzPillar.name=Pillar of Black Quartz +tile.blockFeeder.name=Automatic Feeder item.itemMiscMashedFood.name=Mashed Food item.itemMiscRefinedIron.name=Refined Iron @@ -11,6 +16,21 @@ item.itemMiscSteel.name=Steel item.itemFertilizer.name=Fertilizer item.itemMiscDough.name=Dough item.itemMiscPaperCone.name=Paper Cone +item.itemMiscKnifeBlade.name=Knife Blade +item.itemMiscKnifeHandle.name=Knife Handle +item.itemMiscBlackQuartz.name=Black Quartz + +item.itemKnife.name=Knife +item.itemPickaxeEmerald.name=Emerald Pickaxe +item.itemAxeEmerald.name=Emerald Axe +item.itemShovelEmerald.name=Emerald Shovel +item.itemHoeEmerald.name=Emerald Hoe +item.itemSwordEmerald.name=Emerald Sword +item.itemPickaxeObsidian.name=Obsidian Pickaxe +item.itemAxeObsidian.name=Obsidian Axe +item.itemShovelObsidian.name=Obsidian Shovel +item.itemHoeObsidian.name=Obsidian Hoe +item.itemSwordObsidian.name=Obsidian Sword item.itemFoodBaguette.name=Baguette item.itemFoodPizza.name=Pizza @@ -32,8 +52,14 @@ item.itemFoodCheese.name=Cheese tooltip.shiftForInfo.desc=Press Shift for Info tooltip.hunger.desc=Fills tooltip.saturation.desc=Saturation +tooltip.durability.desc=Durability tooltip.blockCompost.desc=Used to make Fertilizer with Mashed Food +tooltip.blockMiscOreBlackQuartz.desc=The darkest form of Quartz. Also: You had Silk Touch! +tooltip.blockMiscBlackQuartz.desc=Black, eerie Quartz! Nice for decorating. +tooltip.blockMiscBlackQuartzChiseled.desc=Black, eerie chiseled Quartz! Nice for decorating. +tooltip.blockMiscBlackQuartzPillar.desc=Kind of a pillar. Not really, though. It's fake! Fake I say! +tooltip.blockFeeder.desc=Feeds Animals on its own! tooltip.itemMiscMashedFood.desc=Used to make Fertilizer tooltip.itemMiscRefinedIron.desc=Iron, but better @@ -43,13 +69,28 @@ tooltip.itemMiscSteel.desc=Like Iron, but stronger. Much stronger. tooltip.itemFertilizer.desc=Om nom nom. Don't eat it. tooltip.itemMiscDough.desc=Used to make things that involve dough. tooltip.itemMiscPaperCone.desc=Used to store foodstuffs! +tooltip.itemMiscKnifeBlade.desc=Sharp like a tooth! A whale's tooth! +tooltip.itemMiscKnifeHandle.desc=Fits comfortably in your hand. +tooltip.itemMiscBlackQuartz.desc=Used in the Quartz Enchanter! + +tooltip.itemKnife.desc=Cuts things! Only food though, don't think of stuff... +tooltip.itemPickaxeEmerald.desc=Mines Stone. +tooltip.itemAxeEmerald.desc=Mines Wood. +tooltip.itemShovelEmerald.desc=Mines Dirt. +tooltip.itemHoeEmerald.desc=Mines... uhm... yea. +tooltip.itemSwordEmerald.desc=Mines... mobs? +tooltip.itemPickaxeObsidian.desc=Mines Stone. Slooooowly. +tooltip.itemAxeObsidian.desc=Mines Wood. Slooooowly. +tooltip.itemShovelObsidian.desc=Mines Dirt. Slooooowly. +tooltip.itemHoeObsidian.desc=Mines... uhm... yea. +tooltip.itemSwordObsidian.desc=Mines... mobs? tooltip.itemFoodBaguette.desc=It's french. It's noms. tooltip.itemFoodPizza.desc=Who doesn't like it? tooltip.itemFoodHamburger.desc=It's from a german city! tooltip.itemFoodBigCookie.desc=Do you know? The Subway Thing? tooltip.itemFoodSubmarineSandwich.desc=Do you know? The Subway and everything else Thing? -tooltip.itemFoodToast.desc="GHOSTS! GHOSTS! TOAST!" +tooltip.itemFoodToast.desc="GHOSTS! GHOSTS! TOASTS!" tooltip.itemFoodChocolate.desc=Lari likes. tooltip.itemFoodChocolateCake.desc=Looks delicious. With redberries. Or something. tooltip.itemFoodNoodle.desc=Just one. Like... that's not much. @@ -80,4 +121,14 @@ achievement.craftFrenchFries.desc=Craft French Fries achievement.craftFishNChips=It's Fish! It's Chips! achievement.craftFishNChips.desc=Craft Fish 'N' Chips achievement.craftMashedFood=Munch munch munch! -achievement.craftMashedFood.desc=Craft Mashed Food \ No newline at end of file +achievement.craftMashedFood.desc=Craft Mashed Food +achievement.craftKnifeBlade=Sharp! So sharp! +achievement.craftKnifeBlade.desc=Craft a Knife Blade +achievement.craftKnife=Sharper! Even sharper! +achievement.craftKnife.desc=Craft a Knife + +feeder.animal.desc=Animal +feeder.animalsSuffix.desc=s +feeder.enoughToBreed.desc=Enough to breed! +feeder.tooMany.desc=Too many to breed! +feeder.notEnough.desc=Not enough to breed! \ No newline at end of file diff --git a/src/main/resources/assets/someprettyrandomstuff/models/block/blockCompost.json b/src/main/resources/assets/someprettyrandomstuff/models/block/blockCompost.json deleted file mode 100644 index 8049a99a1..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/block/blockCompost.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "textures": { - "particle": "someprettyrandomstuff:blocks/blockCompostInside", - "top": "someprettyrandomstuff:blocks/blockCompostTop", - "bottom": "someprettyrandomstuff:blocks/blockCompostBottom", - "side": "someprettyrandomstuff:blocks/blockCompostSide", - "inside": "someprettyrandomstuff:blocks/blockCompostInside" - }, - "elements": [ - { "from": [ 0, 3, 0 ], - "to": [ 2, 16, 16 ], - "faces": { - "down": { "uv": [ 0, 0, 2, 16 ], "texture": "#inside", "cullface": "down" }, - "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, - "north": { "uv": [ 2, 0, 0, 13 ], "texture": "#side", "cullface": "north" }, - "south": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "south" }, - "west": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "west" }, - "east": { "uv": [ 0, 0, 16, 13 ], "texture": "#side" } - } - }, - { "from": [ 2, 3, 2 ], - "to": [ 14, 4, 14 ], - "faces": { - "down": { "uv": [ 2, 2, 14, 14 ], "texture": "#inside", "cullface": "down" }, - "up": { "uv": [ 2, 2, 14, 14 ], "texture": "#inside", "cullface": "up" }, - "north": { "uv": [ 2, 0, 0, 13 ], "texture": "#side", "cullface": "north" }, - "south": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "south" }, - "west": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "west" }, - "east": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "east" } - } - }, - { "from": [ 14, 3, 0 ], - "to": [ 16, 16, 16 ], - "faces": { - "down": { "uv": [ 14, 0, 16, 16 ], "texture": "#inside", "cullface": "down" }, - "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top", "cullface": "up" }, - "north": { "uv": [ 16, 0, 14, 13 ], "texture": "#side", "cullface": "north" }, - "south": { "uv": [ 14, 0, 16, 13 ], "texture": "#side", "cullface": "south" }, - "west": { "uv": [ 0, 0, 16, 13 ], "texture": "#side" }, - "east": { "uv": [ 0, 0, 16, 13 ], "texture": "#side", "cullface": "east" } - } - }, - { "from": [ 2, 3, 0 ], - "to": [ 14, 16, 2 ], - "faces": { - "down": { "uv": [ 2, 0, 14, 2 ], "texture": "#inside", "cullface": "down" }, - "up": { "uv": [ 2, 0, 14, 2 ], "texture": "#top", "cullface": "up" }, - "north": { "uv": [ 2, 0, 14, 13 ], "texture": "#side", "cullface": "north" }, - "south": { "uv": [ 2, 0, 14, 13 ], "texture": "#side" }, - "west": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "west" }, - "east": { "uv": [ 0, 0, 2, 13 ], "texture": "#side", "cullface": "east" } - } - }, - { "from": [ 2, 3, 14 ], - "to": [ 14, 16, 16 ], - "faces": { - "down": { "uv": [ 2, 14, 14, 16 ], "texture": "#inside", "cullface": "down" }, - "up": { "uv": [ 2, 14, 14, 16 ], "texture": "#top", "cullface": "up" }, - "north": { "uv": [ 2, 0, 14, 13 ], "texture": "#side" }, - "south": { "uv": [ 2, 0, 14, 13 ], "texture": "#side", "cullface": "south" }, - "west": { "uv": [ 14, 0, 16, 13 ], "texture": "#side", "cullface": "west" }, - "east": { "uv": [ 14, 0, 16, 13 ], "texture": "#side", "cullface": "east" } - } - }, - { "from": [ 0, 0, 0 ], - "to": [ 4, 3, 2 ], - "faces": { - "down": { "uv": [ 0, 0, 4, 2 ], "texture": "#bottom", "cullface": "down" }, - "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, - "north": { "uv": [ 4, 13, 0, 16 ], "texture": "#side", "cullface": "north" }, - "south": { "uv": [ 0, 13, 4, 16 ], "texture": "#side", "cullface": "south" }, - "west": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "west" }, - "east": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "east" } - } - }, - { "from": [ 0, 0, 2 ], - "to": [ 2, 3, 4 ], - "faces": { - "down": { "uv": [ 0, 2, 2, 4 ], "texture": "#bottom", "cullface": "down" }, - "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, - "north": { "uv": [ 2, 13, 0, 16 ], "texture": "#side", "cullface": "north" }, - "south": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "south" }, - "west": { "uv": [ 2, 13, 4, 16 ], "texture": "#side", "cullface": "west" }, - "east": { "uv": [ 2, 13, 4, 16 ], "texture": "#side", "cullface": "east" } - } - }, - { "from": [ 12, 0, 0 ], - "to": [ 16, 3, 2 ], - "faces": { - "down": { "uv": [ 12, 0, 16, 2 ], "texture": "#bottom", "cullface": "down" }, - "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top", "cullface": "up" }, - "north": { "uv": [ 16, 13, 12, 16 ], "texture": "#side", "cullface": "north" }, - "south": { "uv": [ 12, 13, 16, 16 ], "texture": "#side", "cullface": "south" }, - "west": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "west" }, - "east": { "uv": [ 0, 13, 2, 16 ], "texture": "#side", "cullface": "east" } - } - }, - { "from": [ 14, 0, 2 ], - "to": [ 16, 3, 4 ], - "faces": { - "down": { "uv": [ 14, 2, 16, 4 ], "texture": "#bottom" }, - "up": { "uv": [ 0, 0, 2, 16 ], "texture": "#top" }, - "north": { "uv": [ 16, 13, 14, 16 ], "texture": "#side" }, - "south": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, - "west": { "uv": [ 4, 13, 2, 16 ], "texture": "#side" }, - "east": { "uv": [ 4, 13, 2, 16 ], "texture": "#side" } - } - }, - { "from": [ 0, 0, 14 ], - "to": [ 4, 3, 16 ], - "faces": { - "down": { "uv": [ 14, 0, 16, 4 ], "texture": "#bottom" }, - "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, - "north": { "uv": [ 4, 13, 0, 16 ], "texture": "#side" }, - "south": { "uv": [ 0, 13, 4, 16 ], "texture": "#side" }, - "west": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, - "east": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" } - } - }, - { "from": [ 0, 0, 12 ], - "to": [ 2, 3, 14 ], - "faces": { - "down": { "uv": [ 12, 0, 14, 4 ], "texture": "#bottom" }, - "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, - "north": { "uv": [ 2, 13, 0, 16 ], "texture": "#side" }, - "south": { "uv": [ 0, 13, 2, 16 ], "texture": "#side" }, - "west": { "uv": [ 12, 13, 14, 16 ], "texture": "#side" }, - "east": { "uv": [ 12, 13, 14, 16 ], "texture": "#side" } - } - }, - { "from": [ 12, 0, 14 ], - "to": [ 16, 3, 16 ], - "faces": { - "down": { "uv": [ 14, 12, 16, 16 ], "texture": "#bottom" }, - "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, - "north": { "uv": [ 16, 13, 12, 16 ], "texture": "#side" }, - "south": { "uv": [ 12, 13, 16, 16 ], "texture": "#side" }, - "west": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, - "east": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" } - } - }, - { "from": [ 14, 0, 12 ], - "to": [ 16, 3, 14 ], - "faces": { - "down": { "uv": [ 14, 12, 16, 14 ], "texture": "#bottom" }, - "up": { "uv": [ 14, 0, 16, 16 ], "texture": "#top" }, - "north": { "uv": [ 16, 13, 14, 16 ], "texture": "#side" }, - "south": { "uv": [ 14, 13, 16, 16 ], "texture": "#side" }, - "west": { "uv": [ 14, 13, 12, 16 ], "texture": "#side" }, - "east": { "uv": [ 14, 13, 12, 16 ], "texture": "#side" } - } - } - ] -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/blockCompost.json b/src/main/resources/assets/someprettyrandomstuff/models/item/blockCompost.json deleted file mode 100644 index ea8022bdb..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/blockCompost.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/blockCompost" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFertilizer.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemFertilizer.json deleted file mode 100644 index d155101bb..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFertilizer.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemFertilizer" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodBaguette.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodBaguette.json deleted file mode 100644 index e93081716..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodBaguette.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemFoodBaguette" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodBigCookie.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodBigCookie.json deleted file mode 100644 index 865ef4519..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodBigCookie.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemFoodBigCookie" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodCarrotJuice.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodCarrotJuice.json deleted file mode 100644 index 7b92911f8..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodCarrotJuice.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemFoodCarrotJuice" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodCheese.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodCheese.json deleted file mode 100644 index bc8c57c41..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodCheese.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemFoodCheese" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodChocolate.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodChocolate.json deleted file mode 100644 index e7ffa2512..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodChocolate.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemFoodChocolate" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodChocolateCake.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodChocolateCake.json deleted file mode 100644 index 7fc38b1e6..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodChocolateCake.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemFoodChocolateCake" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodFishNChips.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodFishNChips.json deleted file mode 100644 index 579593fb3..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodFishNChips.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemFoodFishNChips" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodFrenchFries.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodFrenchFries.json deleted file mode 100644 index 561216e3c..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodFrenchFries.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemFoodFrenchFries" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodFrenchFry.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodFrenchFry.json deleted file mode 100644 index 17a63332d..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodFrenchFry.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemFoodFrenchFry" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodHamburger.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodHamburger.json deleted file mode 100644 index e638b55cb..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodHamburger.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemFoodHamburger" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodNoodle.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodNoodle.json deleted file mode 100644 index 298a7b7f0..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodNoodle.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemFoodNoodle" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodPizza.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodPizza.json deleted file mode 100644 index 524d75e0e..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodPizza.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemFoodPizza" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodPumpkinStew.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodPumpkinStew.json deleted file mode 100644 index dde8ec993..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodPumpkinStew.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemFoodPumpkinStew" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodSpaghetti.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodSpaghetti.json deleted file mode 100644 index b0557556e..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodSpaghetti.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemFoodSpaghetti" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodSubmarineSandwich.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodSubmarineSandwich.json deleted file mode 100644 index 2ded8a611..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodSubmarineSandwich.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemFoodSubmarineSandwich" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodToast.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodToast.json deleted file mode 100644 index 47d731541..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemFoodToast.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemFoodToast" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscCompressedIron.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscCompressedIron.json deleted file mode 100644 index 99bf4beab..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscCompressedIron.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemMiscCompressedIron" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscDough.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscDough.json deleted file mode 100644 index f6bfb7f59..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscDough.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemMiscDough" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscMashedFood.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscMashedFood.json deleted file mode 100644 index 6f6e24a48..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscMashedFood.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemMiscMashedFood" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscPaperCone.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscPaperCone.json deleted file mode 100644 index 501642858..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscPaperCone.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemMiscPaperCone" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscRefinedIron.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscRefinedIron.json deleted file mode 100644 index e08fe857c..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscRefinedIron.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemMiscRefinedIron" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscRefinedRedstone.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscRefinedRedstone.json deleted file mode 100644 index c9f8c4243..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscRefinedRedstone.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemMiscRefinedRedstone" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscSteel.json b/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscSteel.json deleted file mode 100644 index deb511fbd..000000000 --- a/src/main/resources/assets/someprettyrandomstuff/models/item/itemMiscSteel.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "parent": "builtin/generated", - "textures": { - "layer0": "someprettyrandomstuff:items/itemMiscSteel" - }, - "display": { - "thirdperson": { - "rotation": [ -90, 0, 0 ], - "translation": [ 0, 1, -3 ], - "scale": [ 0.55, 0.55, 0.55 ] - }, - "firstperson": { - "rotation": [ 0, -135, 25 ], - "translation": [ 0, 4, 2 ], - "scale": [ 1.7, 1.7, 1.7 ] - } - } -} diff --git a/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockCompostFertilizer.png b/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockCompostFertilizer.png new file mode 100644 index 0000000000000000000000000000000000000000..f842ba60dd07079d3dbdb73998da30b5f0f4163a GIT binary patch literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXH$kW9! z#KJ#y;%>e}1_CUy0WOodxu{s`xT9bU7Y4IF1DXe!-VRN!6O6|QB(#reI;f9|~n-L6}M)X#3t$=`4;h`G^Z zD#NVf(pMBeO^CU!rgB1NbLA$!7x@9tOL(%1*59VQ(3lD>3@ zkn9rMNgpGp&#QmXyiusaF3(GL`=gfhg!q#_LMxLSQ%s&PRX*A&64d{eyIjHP<|I!R RVW4jqJYD@<);T3K0RRJNdBOky literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockCompostMashedFood.png b/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockCompostMashedFood.png new file mode 100644 index 0000000000000000000000000000000000000000..37d3b24f9a1d9f4583067161b23138ccf3b5bfa3 GIT binary patch literal 422 zcmV;X0a^ZuP)N2bZe?^J zG%heMHD!e|WdHyHBuPX;R5(v2 z2-fQD-MLBpbu_W9ZUQ#nL~0rw$qm@jfFkM5H+g!a?~8CG+Blue@W3kObBHAaGeHt2 z)BdWM&#|^Mlv!EDe9lW=^k~wOEN@~ySa>1O4pw{s=F^LjA)to*{(BSiIUK(O|1tm^ z1kC5P)IhM=&Q^N>oI_sVZ$mS6g0U?hJp$ltea$A~gM~0Gr`eW|%gRstKju#cg5V9n QfdBvi07*qoM6N<$g2p4QUjP6A literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockFeeder.png b/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockFeeder.png new file mode 100644 index 0000000000000000000000000000000000000000..fe16b7fa5e113e2db1452a85972d6b6824b5767b GIT binary patch literal 622 zcmV-!0+IcRP)N2bZe?^J zG%heMHD!e|WdHyH>`6pHR5(w~QcX`2Q51dKhNkbnH^ZA)(UlTS{R=9f?w~u|vh-tN zjG;J4W3)(`Vv3Z`lwyUpX-TRr?X*&wP@oRMI6whoVB@dxPKPu^|9~eaC-*axckU3& zvc6vcrbiu^riuDjw@@e$tQv-ak%L?=hv~%%!l@usRVA2*J9zUCuzenN;Ea*hfMSgZ z zCrNxlj;k;?4pkju6M*sTbGkeY9|EAglouvxdWI%~teIx9fIUfe5?8~E^3ROw!w zzx3rJaIyi}8Tkm;!k4x)ob2Ykr*+BrDE3OU6a%Zmap7l!uj#$V#lF=Dv}^Vk4$4s0 zyoVJ|j3w_`gKI&)SEOqiJ*+V8mFHxGSCXQUxw1OTa3S+f*)Owf2)mrbr}(E3%mpC% znnuTAD`P)8H4QP9X+b$YNmC(+Jd;vyA^HMe52Q7upx@gAVy8pA!;fKG(SB^9@#cMu z71ZWk@oh+uuE%IOa_nZ$*o_|N0_Zv(r^`n^H`f2VpD!H#1J9ptM-s=skN^Mx07*qo IM6N<$f}%1RPXGV_ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockFeederTop.png b/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockFeederTop.png new file mode 100644 index 0000000000000000000000000000000000000000..b5c8ca8577b904b35f6f08a3bd6e7881f47500ad GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DkxK$!8B)5ZfpL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33J=4@yqg0@pd!8$SjupxMzya z<3ABmff70jy{ivD5z+MU`oi?>#D&K@ln-6MBz4@*cfzv%n^Gs|Olf#n#*^)$yVj|P um2D&Y-ow9gUjJBPsZyl1ec#(_x7c65Dg8h9PE{DtrwpF1elF{r5}E+%)QwmG literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockMiscBlackQuartz.png b/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockMiscBlackQuartz.png new file mode 100644 index 0000000000000000000000000000000000000000..bd2ad36f8efe6e209591dcabde9d2d637d30aa07 GIT binary patch literal 431 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sDMfiPqHot61OL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ=4@yqg0@w3Z5>GAr}6nlcMvQ4Fp_oIxyGWZm9fcy5)C#-1{Fw$GbvaYHWHaSDohc zUBc#Ns6@%1SF#$nSDab#CPboIR{j*TAlqDyIg3u-YI$?KSz>zQw#$3$^BLILPA zWmpT{QD!>T5OsNNz+#`~r#oB@l$!F+e5ti(UcZ@+(t@2@EiYAiu9+M(dmr9@O!I+9 z$Q`cSSyPrx<(Xo-;q-r*FW;pYfh}i!O-y}+ XmTRW8``rh?@MQ3G^>bP0l+XkKZ6K%~ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockMiscBlackQuartzChiseled.png b/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockMiscBlackQuartzChiseled.png new file mode 100644 index 0000000000000000000000000000000000000000..8b6b869a28e61da3a2881643eaafb0b1ffc1a94d GIT binary patch literal 432 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sDMfiPqHot61OL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ=4@yqg0@wik>cxAr}6jlP=~p8}PV(-jm78smNJ!K}=39H$(sL|N7e-^-irQNwM6v z{w>R$rKb zVx73}OazO-WtADl98#;;blvh_i3pzFwOj96-3-m#-vPWl6B&Mgd#55Q%pVg27ed0k*x zqqo2Djlc#r-Y+6rhrAe0-7>tb`d>Yx`k;AMzq5>dTa`KE&V~0ZmKOy_>6%XF;0qJq z;9Z=-yJ79Ej&GeR0;jjlR_N!KHlNiX_s2jfboR=7DUnYEOax9m{C+Hc+kIi{Gq3-# YZ}SYvV6W>u0Sr(EPgg&ebxsLQ0E5@2OaK4? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockMiscBlackQuartzPillar.png b/src/main/resources/assets/someprettyrandomstuff/textures/blocks/blockMiscBlackQuartzPillar.png new file mode 100644 index 0000000000000000000000000000000000000000..9dfd4854457419a06cbb38e6f764c6e62a542eae GIT binary patch literal 424 zcmV;Z0ayNsP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGirT_pArU8fCsc!%P02p*dSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;VI^GGzb&0U1d|K~y+Tg_7$|gfJ9@c>xzn3+1w9xkNX* z_-o()-Tdm*in@u(kPKzMb9!2e^?E;5EyAFuvO)634#ti0W!;@j%oIfX@Qlv$+jx1+ zJ}fu+X?xH9yxbB%fzo)Xs(b4LYKIloZjgu(j$5K$P9K3BMaB)p;+A;msHpn>6`x?j zvPYmaot6Zo+RZ3wF@J?Am|aWc1hm7V{p4IWX$B5Qg#|SI45O_df$tdrat(FJO%RJB z6QJBfK#TyHY26EMpbsxc;FnUl82g%mW3An&8V?0v+d%m=1J3!$`3p>Cdv!a?`iU#& zABg}7YBb%90DeU4j$6lkp4&=n+V%v*mv!gglIPsAr!bOFGuS5hal`!YulElI6HuF$ SBNZk90000<{97<5HgbW?9;ba!ELWdLwtX>N2bZe?^J zG%heMHD!e|WdHyH-bqA3R5(vPl1GmMF${(CFQ~I{=Z3fdHx4xIfg%Az?^Tqg_mQYV zAo$DsWwKfyqQriFes(OrO!IoZ<#KsGpBskp`F!5*ceB~tY&QG-9w#;)kDX4ZrfK5a zv`(k(P+dIYB8J5>h=1MY3X!2l}h3DcszvdcKdWX zr6#sqE~yX>hlSF>*=n_XKA+p|cDY>SI2;a$FbXO**Xy<2ZWD=wg2Ig?TA~_v zhXp=fzyH_6@puGEPe8FqBvPqV7&P^- z*Q;_uak*S%0=VIDh)^YrYOB?%(P+R&yQNYIG=5<4$^^oAL1SE?91I50Xp|?Q`~7aS z+31aAz=9iL2&ibWSm+qb<#IeBMkhE`4TW;7hr^-Q>oKxgt;YXjY>Gnj6-ed#*)$lz z$O=rIwP6~!+l?003Lu6NGao>vQY{vXolYkJA`l3W&5}@uPn=995HkS&9zJ#vCv-?s udnMPK>Y-4G1SGP7!}tXi`~|gUBn|oi00001;MTGc)rXk$6pCUt(r99UIHxaJXDVsTGTPj7E;Utgb8DwWA( zLqkKOqoWfO6DpMo-Sg-6S%H5=f$Nij)@u)i;pgp-UakLg1N@ciccP-IB~n9@06_E6 zS_d6*{w657h2b8|@K1;5Gm2DBrC1|xmO3Pf=e#QPx(aa4j z7-8ftm3>^~i$}yL#b}BFBMb_n`I4eN#EnRe#HZKjmpbeQy4~<9Qxc!Gy4=nFP`CrC zukru6WA>J@FuplsQ;{p)S>i}I55G93W+;r=Z>6n;!IQjXkzrh{)N9w9cPqL&#q>&U z;C{?x&4`FTuYLkl@Bu~0*=BPPTNPc-ZCF(5knYRn4I7w2u4rnH0NldHNoCt2t3hT^ zHlBJp1w)#LdHjsD%{5h1`L)2(QDA9rd9G5Au1w%Gn|}+n-(Qi2IO5RC_xUcvIw9am zS*Aim_|if+sIb2w*kMj*%X;LG5Cl7fPk%U=d`Ge{8;uE%B;)oDDeSpe+mpS|ySuyl z?^c|TyHs&OhZiN25w(kFwJ?0XtfE^Xw|LTxCj|54aWI~`$HrALpWSvMcXT{=bDx3? z%%F!fkHA}*}`RR?Ab?LRb2gvSi7r&c zCb-e$@P{$RdM_eWdfEu#jNX2y8M+&9IgY#)ct3rN7iQn`L6Y3Y=UU9r)ND23UF)RK z&hm?qt^}c0g7Lb*tJT2Ta=%;cQT0z4u0py_#2kq;z*mXHX(vPkTCd+`$bb zI{#t8{4Jj_3SM0s_Yh+@^R}UCPHg7sx(Z1ibpm_r22x?7oax+>^|8B`)&H7lc&yO` xw0v;f7x1$nA^`-P;ZLq0^@sn=@Ci;mPX)G%%pzu2avat^Gn%_Mxz3fI{To{mzbpU% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/someprettyrandomstuff/textures/items/blockCompost.png b/src/main/resources/assets/someprettyrandomstuff/textures/items/blockCompost.png index 5c6479ea000a21a435f6c3c0bae8006104bfc39c..f6e7d14dbcff4d4b90b0b7157715ccbd3b6bb04f 100644 GIT binary patch delta 327 zcmV-N0l5C*0`~%tB#|)~f5HF&4#EKyC`y0;000Gue_5y~W>%EuOM+IH zH)L|rYVS@Qq@002ovPDHLkV1g!Vk7xh@ delta 275 zcmV+u0qp+w0^tIXBnkm@Qb$4nuFf3kks%uj!vFvd!vV){sAQ2wAAd89=9f?a007cS zL_t(IPmPj04#F@HM12}AK$QYc09`5yigeVplsNz;9hXSS-HgWKS!2gZi1ZX^clI+@ z!sj)__joQ)Oia&9@m-@_Y9J)OU%T|Cu!gwavj#3iB-GT0aHb~Q`h5h6mvEhHSMPu` zaTTx`+k~~G;vN&|A#mS;pb%WB0iJ_^m)fKIY~_g;8-Nm;%C}o^U9#Y7f){yQjVXk* zL2H7Gglix*z#pDkKAk#0yMwUtXmX)v6?OZkL2WB!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P@=>&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&os5wC>5xt*3-o? z#KJ#$0k=SD;!plV0eYDXOD_J_*O!=_!{M{}DdW5U->&cQG-il2=Bb|5`S1LP$;#&h zW-uzucAQnZyr?0Q*D~)?4C5h%*%NscPih;aH|MZrs-0w*@a$Yk>5k2bdQ9FzOef5o vTRYfAvfaweJQE(|urY4RUB+Wzz`(FnKlN1F_RHQthcI}$`njxgN@xNApx9E% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/someprettyrandomstuff/textures/items/itemAxeObsidian.png b/src/main/resources/assets/someprettyrandomstuff/textures/items/itemAxeObsidian.png new file mode 100644 index 0000000000000000000000000000000000000000..0aa59e73b3d97d95f8eaa12def571aa11fc1f0f7 GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DkxL735kHCP2GC{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPW+fIA^w{2%|J0KH6xC4p|2czZm}Se8YG-1xG8#|qv|HihiAM1SLp|0U~+jz}^Y zGo%=MY-ZRmHsjia$7*Lq6?isD-V~U$hpE`?MB0S3Njwah?|j1Bt)-tSZBS8c$T1G- tsBqYrmXbc1h3#CLfWqyxQw+?^4E^q*9#85`mIB?u;OXk;vd$@?2>@phPT&9l literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/someprettyrandomstuff/textures/items/itemHoeEmerald.png b/src/main/resources/assets/someprettyrandomstuff/textures/items/itemHoeEmerald.png new file mode 100644 index 0000000000000000000000000000000000000000..5f1e91f508ccdf249ae71da4b3247fff9c3ea4c9 GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P@=>&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&os5wC>5wC(bL5- z#KJ#$fu=xd;!pm=0g8_pJtlvTzxV&!^&JOija|>R-Q*EflIywU!=`XM?GytuGsBj+5dLz( Szd)BUFnGH9xvX!lvI6;>1s;*b z3=DkxL735kHCP2GC{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXnKrmz}t2FngiXk>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPYS>FMGa zV&T8E=QMAFf`H4;>TjGN%^(xUi|#~hC=oCIHT zWUSRZ@cnuqul_{Cv_Fi~Cq6nD9%Zzm?$ty`EuFna9!HPM?Pj+H(x;ExT`pbc$8uxm zgvnjL6Sk*TvB~Q_ITAEk5J)l^p7^t%)uKN2bZe?^J zG%heMHD!e|WdHyHqe(~bi_{ckoo895>526DNL^RS-al((@}5LWisCTgkdz=WVq^jVf?Hgrl`Qi(ipPII ztkWnpXE|FFg`;x{PjImyk>J^i?7>T`1(i0ejT&A=qvl-}pUS) zrIx)zpc7<{8z(p%WTFUQk9;|EQoCWEbiyhzYRUcYx>SU)jTDLBg0kS_4Ot}y1uh6& z=h4sO=;nx{I?)y$@P-(+``A1PoGL(wK}XmVZHppLRgQ$-Lac_p=*PDz;iI*_r_}x8 z)WsvfWDEY&vh{C5x0BpcTz>_az(oRP*XGy)VH3(*`W3i0;}&6}iXd>#j|i($l;3Xw z-XA>*ig1Det|)fA^@fp~MZoN{ErVx0JvgvCZX#x%C$IzFQq+;4!B|&V??H=EuW`T$ zm!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXn?djqe zV&Olv&ykBkk%zf9=70UW{9SCKugtnQdv09pcsr$|qRER@OLRqu#A($uvF@0dkcmd# z58wS_-r3{9zrm>H{!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPW+?&;zf zV&Olve$fdKR6;LDc|vG`1A^PJJTQr?b#D((HF{Jv0SB9_ahc@YS=X<(G;= zg?ogt;(#eOn p=L>4eE-9IC$!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P@=>&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&os5wC>5xt*VDx@ z#KJ#WVvoa>)~EJXZC-+G3PA&V(JyXTJE)V{dt=P4PC*A%kYC z%UAzrpC}Z5FD1cnlc!klgu@DhLWXBK6V9Hv*XZ?_UE%DBb8VIF8q5=N+qeYt8FrmD zV7TOQf%`^I8{-7G0FlQg4Aak^U|63PV!lvI6;>1s;*b z3=DkxL735kHCP2GC{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPYS=jq}Y zV&R`Gv8Q2f><@dZHZMUog`-B3^8O!n&HdNSHM_~MgIDOgiSXa~57pgo7^KX0lt>Fm z-}S4W*D~)>EHksh>_j~#Ne)ppz5{c3H%Z>K4#@n&utf6aO@sFWsSKOW1}Hw_b=WS+ z<{-sc#W?${0mCJZuB16^4>n0kKDgR*I<2WeV)jR-O}Wc>3=9|;%CzIJWk|D|0$s-7 M>FVdQ&MBb@0OgQYmH+?% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/someprettyrandomstuff/textures/items/itemShovelEmerald.png b/src/main/resources/assets/someprettyrandomstuff/textures/items/itemShovelEmerald.png new file mode 100644 index 0000000000000000000000000000000000000000..b99441550c2798d53a316d695806122fa17c4031 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P@=>&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&os5wC>5wC#nZ(x z#KJ#WBFf=P>r;Ck=hhB(1>bx1l?QKpVldBaJ797<{xMrN+r~~ahFIecwUZ12A54Uo z`V^<{`c=!lvI6;>1s;*b z3=DkxL735kHCP2GC{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPXn>gnPb zV&R`G5!Em^_J=)>b882?g0In}yaXMs9Isi524^2FGD|qCV0MvhK{ne(6-frBd1;HL zWWMtW|G!@GxbMs~f%z$CCF_a`&Z;n$%=TnTxy^IQVdL49>^8;;iXxH@RtX6V3{T8_ Vat_Y3V+UHu;OXk;vd$@?2>@C3MXLY+ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/someprettyrandomstuff/textures/items/itemSwordEmerald.png b/src/main/resources/assets/someprettyrandomstuff/textures/items/itemSwordEmerald.png new file mode 100644 index 0000000000000000000000000000000000000000..ea44f7d0fec027e370b89462d240de3cc129dcf3 GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=Dh+K$tP>S|=w^P@=>&q9iy!t)x7$D3zfgF*C13FE6!3!9>qM&os5wC>5w?vZsq< zh=qT$0(-}<4S(7bR|tG$SaR~W{`>mh*>{#mH>{C#nVfP!;KG^32mi>oEQ~QwIGHvf z?Wa!I4n>vBHpU5QcUQ_JID1^A)SGlnZf%(XGdM^ S)n1_U7(8A5T-G@yGywoQ*!lvI6;>1s;*b z3=DkxL735kHCP2GC{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXPVk-lnPWc$) zEbGfx|7V|YG&vCCa6w>((}c4IXHPJw@jp#snxJy#e1PI5hBIuRcoGsA7~=nD{!Y2I RxB=)o22WQ%mvv4FO#nAfTKE6} literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/someprettyrandomstuff/textures/items/null.png b/src/main/resources/assets/someprettyrandomstuff/textures/items/null.png deleted file mode 100644 index 879630df5a1824165fcf5c4f5133e9d435e78fdf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C{f}XQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXWa8_dH_&OjHioZ zh=u>tp4(gp3^<(s{+}P`Idg(rZtJ^Tb}zlGx7zc*TfW=<*XYERmA^g-oH`x4pC`ic z`1uLEyZ_q$S^RIEWCkC*HR~I7jf%kOmds}#CM?&Kn8z2(_