From 2b7a8f7d0f0949a900a0aeebb412a62ddcb15c5d Mon Sep 17 00:00:00 2001 From: Bob Date: Fri, 17 Feb 2023 23:30:39 +0100 Subject: [PATCH] yummy crayons --- .../java/com/hbm/crafting/PowderRecipes.java | 6 +- .../com/hbm/inventory/OreDictManager.java | 4 + src/main/java/com/hbm/items/ModItems.java | 3 + .../java/com/hbm/items/food/ItemCrayon.java | 72 ++++++++++++++++++ .../hbm/items/machine/ItemChemicalDye.java | 2 +- src/main/resources/assets/hbm/lang/de_DE.lang | 32 ++++++++ src/main/resources/assets/hbm/lang/en_US.lang | 32 ++++++++ .../assets/hbm/textures/items/crayon.png | Bin 0 -> 306 bytes .../hbm/textures/items/crayon_overlay.png | Bin 0 -> 171 bytes 9 files changed, 149 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/hbm/items/food/ItemCrayon.java create mode 100644 src/main/resources/assets/hbm/textures/items/crayon.png create mode 100644 src/main/resources/assets/hbm/textures/items/crayon_overlay.png diff --git a/src/main/java/com/hbm/crafting/PowderRecipes.java b/src/main/java/com/hbm/crafting/PowderRecipes.java index f2fac3c27..14e1d0382 100644 --- a/src/main/java/com/hbm/crafting/PowderRecipes.java +++ b/src/main/java/com/hbm/crafting/PowderRecipes.java @@ -79,8 +79,12 @@ public class PowderRecipes { CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.CYAN, 2), new Object[] { DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLUE), DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.GREEN) }); CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.PURPLE, 2), new Object[] { DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.RED), DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLUE) }); CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BROWN, 2), new Object[] { DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.ORANGE), DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLACK) }); - CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.MAGENTA, 2), new Object[] { DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.RED), DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.PURPLE) }); + CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.MAGENTA, 2), new Object[] { DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.PINK), DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.PURPLE) }); CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.LIGHTBLUE, 2), new Object[] { DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLUE), DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.WHITE) }); + CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.PINK, 2), new Object[] { DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.RED), DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.WHITE) }); + CraftingManager.addShapelessAuto(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.GREEN, 2), new Object[] { DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLUE), DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.YELLOW) }); + + for(int i = 0; i < 15; i++) CraftingManager.addShapelessAuto(new ItemStack(ModItems.crayon, 4, i), new Object[] { new ItemStack(ModItems.chemical_dye, 1, i), ANY_TAR.any() }); } } diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 37a27d366..d54bfdcf8 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -484,8 +484,12 @@ public class OreDictManager { String[] dyes = { "Black", "Red", "Green", "Brown", "Blue", "Purple", "Cyan", "LightGray", "Gray", "Pink", "Lime", "Yellow", "LightBlue", "Magenta", "Orange", "White" }; for(int i = 0; i < 16; i++) { String dyeName = "dye" + dyes[i]; + OreDictionary.registerOre(dyeName, new ItemStack(ModItems.chemical_dye, 1, i)); OreDictionary.registerOre("dye", new ItemStack(ModItems.chemical_dye, 1, i)); + + OreDictionary.registerOre(dyeName, new ItemStack(ModItems.crayon, 1, i)); + OreDictionary.registerOre("dye", new ItemStack(ModItems.crayon, 1, i)); } OreDictionary.registerOre("dyeRed", cinnebar); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 7dbe2982d..e421a1af5 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -333,6 +333,7 @@ public class ModItems { public static Item safety_fuse; public static Item part_generic; public static Item chemical_dye; + public static Item crayon; public static Item undefined; @@ -2766,6 +2767,7 @@ public class ModItems { safety_fuse = new Item().setUnlocalizedName("safety_fuse").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":safety_fuse"); part_generic = new ItemGenericPart().setUnlocalizedName("part_generic").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":part_generic"); chemical_dye = new ItemChemicalDye().setUnlocalizedName("chemical_dye").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":chemical_dye"); + crayon = new ItemCrayon().setUnlocalizedName("crayon").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":crayon"); undefined = new ItemCustomLore().setUnlocalizedName("undefined").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":undefined"); @@ -6358,6 +6360,7 @@ public class ModItems { GameRegistry.registerItem(ring_starmetal, ring_starmetal.getUnlocalizedName()); GameRegistry.registerItem(deuterium_filter, deuterium_filter.getUnlocalizedName()); GameRegistry.registerItem(chemical_dye, chemical_dye.getUnlocalizedName()); + GameRegistry.registerItem(crayon, crayon.getUnlocalizedName()); GameRegistry.registerItem(part_generic, part_generic.getUnlocalizedName()); GameRegistry.registerItem(parts_legendary, parts_legendary.getUnlocalizedName()); GameRegistry.registerItem(gear_large, gear_large.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/food/ItemCrayon.java b/src/main/java/com/hbm/items/food/ItemCrayon.java new file mode 100644 index 000000000..18df7d58c --- /dev/null +++ b/src/main/java/com/hbm/items/food/ItemCrayon.java @@ -0,0 +1,72 @@ +package com.hbm.items.food; + +import java.util.List; + +import com.hbm.items.machine.ItemChemicalDye.EnumChemDye; +import com.hbm.lib.RefStrings; +import com.hbm.util.EnumUtil; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class ItemCrayon extends ItemFood { + + @SideOnly(Side.CLIENT) protected IIcon overlayIcon; + + public ItemCrayon() { + super(3, false); + this.setAlwaysEdible(); + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs tab, List list) { + for(int i = 0; i < EnumChemDye.values().length; i++) { + list.add(new ItemStack(item, 1, i)); + } + } + + protected IIcon[] icons; + + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister reg) { + super.registerIcons(reg); + this.overlayIcon = reg.registerIcon(RefStrings.MODID + ":crayon_overlay"); + } + + @Override + public String getUnlocalizedName(ItemStack stack) { + Enum num = EnumUtil.grabEnumSafely(EnumChemDye.class, stack.getItemDamage()); + return super.getUnlocalizedName() + "." + num.name().toLowerCase(); + } + + @Override + @SideOnly(Side.CLIENT) + public boolean requiresMultipleRenderPasses() { + return true; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamageForRenderPass(int meta, int pass) { + return pass == 1 ? this.overlayIcon : super.getIconFromDamageForRenderPass(meta, pass); + } + + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int pass) { + + if(pass == 1) { + EnumChemDye dye = EnumUtil.grabEnumSafely(EnumChemDye.class, stack.getItemDamage()); + return dye.color; + } + + return 0xffffff; + } +} diff --git a/src/main/java/com/hbm/items/machine/ItemChemicalDye.java b/src/main/java/com/hbm/items/machine/ItemChemicalDye.java index 02e37d2da..d4cb9f821 100644 --- a/src/main/java/com/hbm/items/machine/ItemChemicalDye.java +++ b/src/main/java/com/hbm/items/machine/ItemChemicalDye.java @@ -12,7 +12,7 @@ import net.minecraft.util.IIcon; public class ItemChemicalDye extends ItemEnumMulti { - protected IIcon overlayIcon; + @SideOnly(Side.CLIENT) protected IIcon overlayIcon; public ItemChemicalDye() { super(EnumChemDye.class, true, false); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 91a3e95cd..df50528aa 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -1310,6 +1310,22 @@ item.centrifuge_tower.name=Zentrifugenturm item.chainsaw.name=Kettensäge item.cheese.name=Käse item.cheese_quesadilla.name=Käse-Quesadilla +item.chemical_dye.black.name=Chemischer Farbstoff (Schwarz) +item.chemical_dye.blue.name=Chemischer Farbstoff (Blau) +item.chemical_dye.brown.name=Chemischer Farbstoff (Braun) +item.chemical_dye.cyan.name=Chemischer Farbstoff (Zyan) +item.chemical_dye.gray.name=Chemischer Farbstoff (Grau) +item.chemical_dye.green.name=Chemischer Farbstoff (Grün) +item.chemical_dye.lightblue.name=Chemischer Farbstoff (Hellblau) +item.chemical_dye.lime.name=Chemischer Farbstoff (Hellgrün) +item.chemical_dye.magenta.name=Chemischer Farbstoff (Magenta) +item.chemical_dye.orange.name=Chemischer Farbstoff (Orange) +item.chemical_dye.pink.name=Chemischer Farbstoff (Rosa) +item.chemical_dye.purple.name=Chemischer Farbstoff (Lila) +item.chemical_dye.red.name=Chemischer Farbstoff (Rot) +item.chemical_dye.silver.name=Chemischer Farbstoff (Hellgrau) +item.chemical_dye.white.name=Chemischer Farbstoff (Weiß) +item.chemical_dye.yellow.name=Chemischer Farbstoff (Gelb) item.chemistry_set.name=Laborgläser item.chemistry_set_boron.name=Laborgläser (Borglas) item.chemistry_template.name=Chemievorlage: @@ -1457,6 +1473,22 @@ item.component_limiter.name=Stabilisatorkomponente item.cordite.name=Kordit item.cotton_candy.name=Radioaktive Zuckerwatte item.crate_caller.name=Nachschub-Requester +item.crayon.black.name=Schwarzer Wachsmalstift +item.crayon.blue.name=Blauer Wachsmalstift +item.crayon.brown.name=Brauner Wachsmalstift +item.crayon.cyan.name=Zyan Wachsmalstift +item.crayon.gray.name=Grauer Wachsmalstift +item.crayon.green.name=Grüner Wachsmalstift +item.crayon.lightblue.name=Hellblauer Wachsmalstift +item.crayon.lime.name=Hellgrüner Wachsmalstift +item.crayon.magenta.name=Magenta Wachsmalstift +item.crayon.orange.name=Oranger Wachsmalstift +item.crayon.pink.name=Rosa Wachsmalstift +item.crayon.purple.name=Lila Wachsmalstift +item.crayon.red.name=Roter Wachsmalstift +item.crayon.silver.name=Hellgrauer Wachsmalstift +item.crayon.white.name=Weißer Wachsmalstift +item.crayon.yellow.name=Gelber Wachsmalstift item.crowbar.name=Mk.V Kistenöffnungsapparat "Brechstange" item.crucible.name=Schmelztiegel item.crucible_template.name=Schmelztiegelvorlage: diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index d98538f6d..3eb70cae1 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1956,6 +1956,22 @@ item.centrifuge_tower.name=Centrifuge Tower item.chainsaw.name=Chainsaw item.cheese.name=Cheese item.cheese_quesadilla.name=Cheese Quesadilla +item.chemical_dye.black.name=Chemical Dye (Black) +item.chemical_dye.blue.name=Chemical Dye (Blue) +item.chemical_dye.brown.name=Chemical Dye (Brown) +item.chemical_dye.cyan.name=Chemical Dye (Cyan) +item.chemical_dye.gray.name=Chemical Dye (Gray) +item.chemical_dye.green.name=Chemical Dye (Green) +item.chemical_dye.lightblue.name=Chemical Dye (Light Blue) +item.chemical_dye.lime.name=Chemical Dye (Lime) +item.chemical_dye.magenta.name=Chemical Dye (Magenta) +item.chemical_dye.orange.name=Chemical Dye (Orange) +item.chemical_dye.pink.name=Chemical Dye (Pink) +item.chemical_dye.purple.name=Chemical Dye (Purple) +item.chemical_dye.red.name=Chemical Dye (Red) +item.chemical_dye.silver.name=Chemical Dye (Light Gray) +item.chemical_dye.white.name=Chemical Dye (White) +item.chemical_dye.yellow.name=Chemical Dye (Yellow) item.chemistry_set.name=Laboratory Glassware item.chemistry_set_boron.name=Laboratory Glassware (Boron Glass) item.chemistry_template.name=Chemistry Template: @@ -2105,6 +2121,22 @@ item.component_limiter.name=Stabilizer Component item.cordite.name=Cordite item.cotton_candy.name=Radioactive Cotton Candy item.crate_caller.name=Supply Drop Requester +item.crayon.black.name=Black Crayon +item.crayon.blue.name=Blue Crayon +item.crayon.brown.name=Brown Crayon +item.crayon.cyan.name=Cyan Crayon +item.crayon.gray.name=Gray Crayon +item.crayon.green.name=Green Crayon +item.crayon.lightblue.name=Light Blue Crayon +item.crayon.lime.name=Lime Crayon +item.crayon.magenta.name=Magenta Crayon +item.crayon.orange.name=Orange Crayon +item.crayon.pink.name=Pink Crayon +item.crayon.purple.name=Purple Crayon +item.crayon.red.name=Red Crayon +item.crayon.silver.name=Light Gray Crayon +item.crayon.white.name=White Crayon +item.crayon.yellow.name=Yellow Crayon item.crowbar.name=Mk.V Crate Opening Device "Crowbar" item.crucible.name=Crucible item.crucible_template.name=Crucible Template: diff --git a/src/main/resources/assets/hbm/textures/items/crayon.png b/src/main/resources/assets/hbm/textures/items/crayon.png new file mode 100644 index 0000000000000000000000000000000000000000..394eb837b640d33b8d588be075f687002f99f5e9 GIT binary patch literal 306 zcmV-20nPr2P)uN;d)PAfI5>o*)-6G^h%~BGZtdNWDUM=_))5 z@FjAC7{lDYf@JPA0vO!PiTcW$LqOc(Rt-d&b7F z-|c$e7C^6c%hKNEi=ILY^ILhbM(Gj=WVsRTIVj{60*s2Mp|>3 zlc2wTT`Xj%HR*H;fVGx3CqV!>&qlH6e;mv_2L%Entsp-d#N5<2l1E*U~&D zDJiXF6*N2?^?F*(;WI(c|J$Uz^?Vik&W|A=v}c~o?oBf%s#Lw#SX#4EUHosPj>^>? Sx@|z)7(8A5T-G@yGywq8Nj}2> literal 0 HcmV?d00001