From bee6ce337beb58a01819b176270d09b37944f350 Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Mon, 17 May 2021 07:44:45 +0800 Subject: [PATCH] add hint block --- .../structurelib/StructureLib.java | 12 ++++ .../structurelib/block/BlockHint.java | 66 ++++++++++++++++++ .../structurelib/item/ItemBlockHint.java | 66 ++++++++++++++++++ .../structurelib/proxy/ClientProxy.java | 47 +++++++------ .../structurelib/proxy/CommonProxy.java | 8 +-- .../structure/StructureUtility.java | 48 ++++++------- .../assets/structurelib/lang/en_US.lang | 39 +++++++++++ .../textures/blocks/iconsets/HINT_0.png | Bin 0 -> 273 bytes .../textures/blocks/iconsets/HINT_1.png | Bin 0 -> 279 bytes .../textures/blocks/iconsets/HINT_10.png | Bin 0 -> 296 bytes .../textures/blocks/iconsets/HINT_11.png | Bin 0 -> 301 bytes .../textures/blocks/iconsets/HINT_2.png | Bin 0 -> 282 bytes .../textures/blocks/iconsets/HINT_3.png | Bin 0 -> 281 bytes .../textures/blocks/iconsets/HINT_4.png | Bin 0 -> 285 bytes .../textures/blocks/iconsets/HINT_5.png | Bin 0 -> 289 bytes .../textures/blocks/iconsets/HINT_6.png | Bin 0 -> 293 bytes .../textures/blocks/iconsets/HINT_7.png | Bin 0 -> 295 bytes .../textures/blocks/iconsets/HINT_8.png | Bin 0 -> 296 bytes .../textures/blocks/iconsets/HINT_9.png | Bin 0 -> 297 bytes .../textures/blocks/iconsets/HINT_AIR.png | Bin 0 -> 255 bytes .../textures/blocks/iconsets/HINT_DEFAULT.png | Bin 0 -> 301 bytes .../textures/blocks/iconsets/HINT_ERROR.png | Bin 0 -> 306 bytes .../textures/blocks/iconsets/HINT_NOAIR.png | Bin 0 -> 281 bytes 23 files changed, 235 insertions(+), 51 deletions(-) create mode 100644 src/main/java/com/gtnewhorizon/structurelib/block/BlockHint.java create mode 100644 src/main/java/com/gtnewhorizon/structurelib/item/ItemBlockHint.java create mode 100644 src/main/resources/assets/structurelib/lang/en_US.lang create mode 100644 src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_0.png create mode 100644 src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_1.png create mode 100644 src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_10.png create mode 100644 src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_11.png create mode 100644 src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_2.png create mode 100644 src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_3.png create mode 100644 src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_4.png create mode 100644 src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_5.png create mode 100644 src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_6.png create mode 100644 src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_7.png create mode 100644 src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_8.png create mode 100644 src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_9.png create mode 100644 src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_AIR.png create mode 100644 src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_DEFAULT.png create mode 100644 src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_ERROR.png create mode 100644 src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_NOAIR.png diff --git a/src/main/java/com/gtnewhorizon/structurelib/StructureLib.java b/src/main/java/com/gtnewhorizon/structurelib/StructureLib.java index 4fd9f9e6..b26f9e41 100644 --- a/src/main/java/com/gtnewhorizon/structurelib/StructureLib.java +++ b/src/main/java/com/gtnewhorizon/structurelib/StructureLib.java @@ -1,9 +1,14 @@ package com.gtnewhorizon.structurelib; +import com.gtnewhorizon.structurelib.block.BlockHint; +import com.gtnewhorizon.structurelib.item.ItemBlockHint; import com.gtnewhorizon.structurelib.proxy.CommonProxy; import com.gtnewhorizon.structurelib.util.XSTR; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.SidedProxy; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.registry.GameRegistry; +import net.minecraft.block.Block; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -15,4 +20,11 @@ public class StructureLib { @SidedProxy(serverSide = "com.gtnewhorizon.structurelib.proxy.CommonProxy", clientSide = "com.gtnewhorizon.structurelib.proxy.ClientProxy") public static CommonProxy proxy; public static final XSTR RANDOM = new XSTR(); + + public static Block blockHint; + + @Mod.EventHandler + public void preInit(FMLPreInitializationEvent e) { + GameRegistry.registerBlock(blockHint = new BlockHint(), ItemBlockHint.class, "blockhint"); + } } diff --git a/src/main/java/com/gtnewhorizon/structurelib/block/BlockHint.java b/src/main/java/com/gtnewhorizon/structurelib/block/BlockHint.java new file mode 100644 index 00000000..ec29eca5 --- /dev/null +++ b/src/main/java/com/gtnewhorizon/structurelib/block/BlockHint.java @@ -0,0 +1,66 @@ +package com.gtnewhorizon.structurelib.block; + +import com.gtnewhorizon.structurelib.StructureLib; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +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.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; + +import java.util.List; + +public class BlockHint extends Block { + private static final IIcon[] hint = new IIcon[16]; + + public BlockHint() { + super(Material.iron); + setBlockName("structurelib.blockhint"); + setCreativeTab(CreativeTabs.tabBlock); + } + + @Override + public void registerBlockIcons(IIconRegister aIconRegister) { + //super.registerBlockIcons(aIconRegister); + hint[0] = aIconRegister.registerIcon(StructureLib.MOD_ID + ":iconsets/HINT_0"); + hint[1] = aIconRegister.registerIcon(StructureLib.MOD_ID + ":iconsets/HINT_1"); + hint[2] = aIconRegister.registerIcon(StructureLib.MOD_ID + ":iconsets/HINT_2"); + hint[3] = aIconRegister.registerIcon(StructureLib.MOD_ID + ":iconsets/HINT_3"); + hint[4] = aIconRegister.registerIcon(StructureLib.MOD_ID + ":iconsets/HINT_4"); + hint[5] = aIconRegister.registerIcon(StructureLib.MOD_ID + ":iconsets/HINT_5"); + hint[6] = aIconRegister.registerIcon(StructureLib.MOD_ID + ":iconsets/HINT_6"); + hint[7] = aIconRegister.registerIcon(StructureLib.MOD_ID + ":iconsets/HINT_7"); + hint[8] = aIconRegister.registerIcon(StructureLib.MOD_ID + ":iconsets/HINT_8"); + hint[9] = aIconRegister.registerIcon(StructureLib.MOD_ID + ":iconsets/HINT_9"); + hint[10] = aIconRegister.registerIcon(StructureLib.MOD_ID + ":iconsets/HINT_10"); + hint[11] = aIconRegister.registerIcon(StructureLib.MOD_ID + ":iconsets/HINT_11"); + hint[12] = aIconRegister.registerIcon(StructureLib.MOD_ID + ":iconsets/HINT_DEFAULT"); + hint[13] = aIconRegister.registerIcon(StructureLib.MOD_ID + ":iconsets/HINT_AIR"); + hint[14] = aIconRegister.registerIcon(StructureLib.MOD_ID + ":iconsets/HINT_NOAIR"); + hint[15] = aIconRegister.registerIcon(StructureLib.MOD_ID + ":iconsets/HINT_ERROR"); + } + + @Override + public IIcon getIcon(int aSide, int aMeta) { + return hint[aMeta]; + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess aWorld, int xCoord, int yCoord, int zCoord, int aSide) { + int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord); + return getIcon(aSide, tMeta); + } + + @Override + @SuppressWarnings("unchecked") + public void getSubBlocks(Item aItem, CreativeTabs par2CreativeTabs, List aList) { + for (int i = 0; i <= 15; i++) { + aList.add(new ItemStack(aItem, 1, i)); + } + } +} diff --git a/src/main/java/com/gtnewhorizon/structurelib/item/ItemBlockHint.java b/src/main/java/com/gtnewhorizon/structurelib/item/ItemBlockHint.java new file mode 100644 index 00000000..01f5fa8a --- /dev/null +++ b/src/main/java/com/gtnewhorizon/structurelib/item/ItemBlockHint.java @@ -0,0 +1,66 @@ +package com.gtnewhorizon.structurelib.item; + +import net.minecraft.block.Block; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +import java.util.List; + +import static net.minecraft.util.StatCollector.translateToLocal; + +public class ItemBlockHint extends ItemBlock { + public ItemBlockHint(Block p_i45328_1_) { + super(p_i45328_1_); + setMaxDamage(0); + setHasSubtypes(true); + setCreativeTab(CreativeTabs.tabBlock); + } + + @Override + @SuppressWarnings("unchecked") + public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { + aList.add(translateToLocal("structurelib.blockhint.desc.0"));//Helps while building + switch (aStack.getItemDamage()) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("structurelib.blockhint.desc.1"));//Placeholder for a certain group. + break; + case 12: + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("structurelib.blockhint.desc.2"));//General placeholder. + break; + case 13: + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("structurelib.blockhint.desc.3"));//Make sure it contains Air material. + break; + case 14: + aList.add(EnumChatFormatting.AQUA.toString() + EnumChatFormatting.BOLD + translateToLocal("structurelib.blockhint.desc.4"));//Make sure it does not contain Air material. + break; + case 15: + aList.add(EnumChatFormatting.BLUE.toString() + translateToLocal("structurelib.blockhint.desc.5"));//ERROR, what did u expect? + break; + default://WTF? + aList.add("Damn son where did you get that!?"); + aList.add(EnumChatFormatting.BLUE.toString() + "From outer space... I guess..."); + } + } + + public int getMetadata(int aMeta) { + return aMeta; + } + + public String getUnlocalizedName(ItemStack aStack) { + return this.field_150939_a.getUnlocalizedName() + "." + getDamage(aStack); + } +} diff --git a/src/main/java/com/gtnewhorizon/structurelib/proxy/ClientProxy.java b/src/main/java/com/gtnewhorizon/structurelib/proxy/ClientProxy.java index eddc18a1..041284b1 100644 --- a/src/main/java/com/gtnewhorizon/structurelib/proxy/ClientProxy.java +++ b/src/main/java/com/gtnewhorizon/structurelib/proxy/ClientProxy.java @@ -12,32 +12,35 @@ import static com.gtnewhorizon.structurelib.StructureLib.RANDOM; public class ClientProxy extends CommonProxy { @Override - public void hint_particle_tinted(World w, int x, int y, int z, IIcon[] icons, short[] RGBa) { + public void hintParticleTinted(World w, int x, int y, int z, IIcon[] icons, short[] RGBa) { Minecraft.getMinecraft().effectRenderer.addEffect(new BlockHint(w, x, y, z, icons).withColorTint(RGBa)); - createParticleFX(w, x, y, z); - } - @Override - public void hint_particle_tinted(World w, int x, int y, int z, Block block, int meta, short[] RGBa) { - Minecraft.getMinecraft().effectRenderer.addEffect(new BlockHint(w, x, y, z, block, meta).withColorTint(RGBa)); - createParticleFX(w, x, y, z); - } - - @Override - public void hint_particle(World w, int x, int y, int z, IIcon[] icons) { - Minecraft.getMinecraft().effectRenderer.addEffect(new BlockHint(w, x, y, z, icons)); - createParticleFX(w, x, y, z); - } - - @Override - public void hint_particle(World w, int x, int y, int z, Block block, int meta) { - Minecraft.getMinecraft().effectRenderer.addEffect(new BlockHint(w, x, y, z, block, meta)); - createParticleFX(w, x, y, z); - } - - private static void createParticleFX(World w, int x, int y, int z) { EntityFX particle = new WeightlessParticleFX(w, x + RANDOM.nextFloat() * 0.5F, y + RANDOM.nextFloat() * 0.5F, z + RANDOM.nextFloat() * 0.5F, 0, 0, 0); particle.setRBGColorF(0, 0.6F * RANDOM.nextFloat(), 0.8f); Minecraft.getMinecraft().effectRenderer.addEffect(particle); } + + @Override + public void hintParticleTinted(World w, int x, int y, int z, Block block, int meta, short[] RGBa) { + hintParticleTinted(w, x, y, z, createIIconFromBlock(block, meta), RGBa); + } + + @Override + public void hintParticle(World w, int x, int y, int z, IIcon[] icons) { + hintParticleTinted(w, x, y, z, icons, new short[]{255, 255, 255, 0}); + } + + @Override + public void hintParticle(World w, int x, int y, int z, Block block, int meta) { + hintParticleTinted(w, x, y, z, createIIconFromBlock(block, meta), new short[]{255, 255, 255, 0}); + } + + private static IIcon[] createIIconFromBlock(Block block, int meta) { + IIcon[] ret = new IIcon[6]; + for (int i = 0; i < 6; i++) { + block.getIcon(i, meta); + } + return ret; + } + } diff --git a/src/main/java/com/gtnewhorizon/structurelib/proxy/CommonProxy.java b/src/main/java/com/gtnewhorizon/structurelib/proxy/CommonProxy.java index 1b51107f..ba1cff14 100644 --- a/src/main/java/com/gtnewhorizon/structurelib/proxy/CommonProxy.java +++ b/src/main/java/com/gtnewhorizon/structurelib/proxy/CommonProxy.java @@ -5,8 +5,8 @@ import net.minecraft.util.IIcon; import net.minecraft.world.World; public class CommonProxy { - public void hint_particle_tinted(World w, int x, int y, int z, IIcon[] icons, short[] RGBa){} - public void hint_particle_tinted(World w, int x, int y, int z, Block block, int meta, short[] RGBa){} - public void hint_particle(World w,int x, int y, int z, IIcon[] icons){} - public void hint_particle(World w,int x, int y, int z, Block block, int meta){} + public void hintParticleTinted(World w, int x, int y, int z, IIcon[] icons, short[] RGBa){} + public void hintParticleTinted(World w, int x, int y, int z, Block block, int meta, short[] RGBa){} + public void hintParticle(World w, int x, int y, int z, IIcon[] icons){} + public void hintParticle(World w, int x, int y, int z, Block block, int meta){} } diff --git a/src/main/java/com/gtnewhorizon/structurelib/structure/StructureUtility.java b/src/main/java/com/gtnewhorizon/structurelib/structure/StructureUtility.java index 1a656943..1a000439 100644 --- a/src/main/java/com/gtnewhorizon/structurelib/structure/StructureUtility.java +++ b/src/main/java/com/gtnewhorizon/structurelib/structure/StructureUtility.java @@ -27,8 +27,6 @@ import static java.lang.Integer.MIN_VALUE; */ public class StructureUtility { private static final String NICE_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz=|!@#$%&()[]{};:<>/?_,.*^'`"; - // TODO make it an actual block - private static final Block sHintCasingsTT = Blocks.air; @SuppressWarnings("rawtypes") private static final Map STEP = new HashMap<>(); @SuppressWarnings("rawtypes") @@ -40,7 +38,7 @@ public class StructureUtility { @Override public boolean spawnHint(Object o, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, sHintCasingsTT, 13); + StructureLib.proxy.hintParticle(world, x, y, z, StructureLib.blockHint, 13); return true; } @@ -59,13 +57,13 @@ public class StructureUtility { @Override public boolean spawnHint(Object o, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, sHintCasingsTT, 14); + StructureLib.proxy.hintParticle(world, x, y, z, StructureLib.blockHint, 14); return true; } @Override public boolean placeBlock(Object o, World world, int x, int y, int z, ItemStack trigger) { - world.setBlock(x, y, z, sHintCasingsTT, 14, 2); + world.setBlock(x, y, z, StructureLib.blockHint, 14, 2); return true; } }; @@ -78,7 +76,7 @@ public class StructureUtility { @Override public boolean spawnHint(Object o, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, sHintCasingsTT, 15); + StructureLib.proxy.hintParticle(world, x, y, z, StructureLib.blockHint, 15); return true; } @@ -129,7 +127,7 @@ public class StructureUtility { @Override public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, sHintCasingsTT, meta); + StructureLib.proxy.hintParticle(world, x, y, z, StructureLib.blockHint, meta); return false; } }; @@ -148,7 +146,7 @@ public class StructureUtility { @Override public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, icons.get()); + StructureLib.proxy.hintParticle(world, x, y, z, icons.get()); return false; } }; @@ -167,7 +165,7 @@ public class StructureUtility { @Override public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle_tinted(world, x, y, z, icons.get(), RGBa); + StructureLib.proxy.hintParticleTinted(world, x, y, z, icons.get(), RGBa); return false; } }; @@ -193,7 +191,7 @@ public class StructureUtility { @Override public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, hintBlock, hintMeta); + StructureLib.proxy.hintParticle(world, x, y, z, hintBlock, hintMeta); return true; } }; @@ -220,7 +218,7 @@ public class StructureUtility { @Override public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, hintBlock, hintMeta); + StructureLib.proxy.hintParticle(world, x, y, z, hintBlock, hintMeta); return true; } }; @@ -239,7 +237,7 @@ public class StructureUtility { @Override public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, hintBlock, hintMeta); + StructureLib.proxy.hintParticle(world, x, y, z, hintBlock, hintMeta); return true; } }; @@ -262,7 +260,7 @@ public class StructureUtility { @Override public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, hintBlock, hintMeta); + StructureLib.proxy.hintParticle(world, x, y, z, hintBlock, hintMeta); return true; } }; @@ -291,7 +289,7 @@ public class StructureUtility { @Override public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, defaultBlock, defaultMeta); + StructureLib.proxy.hintParticle(world, x, y, z, defaultBlock, defaultMeta); return true; } }; @@ -311,7 +309,7 @@ public class StructureUtility { @Override public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, defaultBlock, defaultMeta); + StructureLib.proxy.hintParticle(world, x, y, z, defaultBlock, defaultMeta); return true; } }; @@ -346,7 +344,7 @@ public class StructureUtility { @Override public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, defaultBlock, defaultMeta); + StructureLib.proxy.hintParticle(world, x, y, z, defaultBlock, defaultMeta); return true; } }; @@ -366,7 +364,7 @@ public class StructureUtility { @Override public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, defaultBlock, defaultMeta); + StructureLib.proxy.hintParticle(world, x, y, z, defaultBlock, defaultMeta); return true; } }; @@ -393,7 +391,7 @@ public class StructureUtility { @Override public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, defaultBlock, defaultMeta); + StructureLib.proxy.hintParticle(world, x, y, z, defaultBlock, defaultMeta); return true; } }; @@ -413,7 +411,7 @@ public class StructureUtility { @Override public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, defaultBlock, defaultMeta); + StructureLib.proxy.hintParticle(world, x, y, z, defaultBlock, defaultMeta); return true; } }; @@ -442,7 +440,7 @@ public class StructureUtility { @Override public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, defaultBlock, defaultMeta); + StructureLib.proxy.hintParticle(world, x, y, z, defaultBlock, defaultMeta); return true; } }; @@ -461,7 +459,7 @@ public class StructureUtility { @Override public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, defaultBlock, defaultMeta); + StructureLib.proxy.hintParticle(world, x, y, z, defaultBlock, defaultMeta); return true; } }; @@ -510,7 +508,7 @@ public class StructureUtility { @Override public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, defaultBlock, defaultMeta); + StructureLib.proxy.hintParticle(world, x, y, z, defaultBlock, defaultMeta); return true; } }; @@ -530,7 +528,7 @@ public class StructureUtility { @Override public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, defaultBlock, defaultMeta); + StructureLib.proxy.hintParticle(world, x, y, z, defaultBlock, defaultMeta); return true; } }; @@ -538,7 +536,7 @@ public class StructureUtility { } public static IStructureElement ofBlockAdder(IBlockAdder iBlockAdder, int dots) { - return ofBlockAdder(iBlockAdder, sHintCasingsTT, dots - 1); + return ofBlockAdder(iBlockAdder, StructureLib.blockHint, dots - 1); } public static IStructureElementNoPlacement ofTileAdder(ITileAdder iTileAdder, Block hintBlock, int hintMeta) { @@ -555,7 +553,7 @@ public class StructureUtility { @Override public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) { - StructureLib.proxy.hint_particle(world, x, y, z, hintBlock, hintMeta); + StructureLib.proxy.hintParticle(world, x, y, z, hintBlock, hintMeta); return true; } }; diff --git a/src/main/resources/assets/structurelib/lang/en_US.lang b/src/main/resources/assets/structurelib/lang/en_US.lang new file mode 100644 index 00000000..36a4c12c --- /dev/null +++ b/src/main/resources/assets/structurelib/lang/en_US.lang @@ -0,0 +1,39 @@ +tile.structurelib.blockhint.0.name=Hint 1 dot +tile.structurelib.blockhint.1.name=Hint 2 dots +tile.structurelib.blockhint.2.name=Hint 3 dots +tile.structurelib.blockhint.3.name=Hint 4 dots +tile.structurelib.blockhint.4.name=Hint 5 dots +tile.structurelib.blockhint.5.name=Hint 6 dots +tile.structurelib.blockhint.6.name=Hint 7 dots +tile.structurelib.blockhint.7.name=Hint 8 dots +tile.structurelib.blockhint.8.name=Hint 9 dots +tile.structurelib.blockhint.9.name=Hint 10 dots +tile.structurelib.blockhint.10.name=Hint 11 dots +tile.structurelib.blockhint.11.name=Hint 12 dots +tile.structurelib.blockhint.12.name=Hint general +tile.structurelib.blockhint.13.name=Hint air +tile.structurelib.blockhint.14.name=Hint no air +tile.structurelib.blockhint.15.name=Hint error + +structurelib.blockhint.desc.0=Helps while building +structurelib.blockhint.0.name=Hint 1 dot +structurelib.blockhint.1.name=Hint 2 dot +structurelib.blockhint.2.name=Hint 3 dot +structurelib.blockhint.3.name=Hint 4 dot +structurelib.blockhint.4.name=Hint 5 dot +structurelib.blockhint.5.name=Hint 6 dot +structurelib.blockhint.6.name=Hint 7 dot +structurelib.blockhint.7.name=Hint 8 dot +structurelib.blockhint.8.name=Hint 9 dot +structurelib.blockhint.9.name=Hint 10 dot +structurelib.blockhint.10.name=Hint 11 dot +structurelib.blockhint.11.name=Hint 12 dot +structurelib.blockhint.desc.1=Placeholder for a certain group. +structurelib.blockhint.12.name=Hint general +structurelib.blockhint.desc.2=General placeholder. +structurelib.blockhint.13.name=Hint air +structurelib.blockhint.desc.3=Make sure it contains Air material. +structurelib.blockhint.14.name=Hint no air +structurelib.blockhint.desc.4=Make sure it does not contain Air material. +structurelib.blockhint.15.name=Hint error +structurelib.blockhint.desc.5=ERROR, what did u expect? \ No newline at end of file diff --git a/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_0.png b/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_0.png new file mode 100644 index 0000000000000000000000000000000000000000..ad6cc6eaa352b3d3cf72cd2426882a380ea05ff8 GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkEk;tCJ9ZjP*% zj*H9BF@Bq^8XPc1w9=-2$Gzhd!?`E)EUD9t%kOW_U-`U}Vfy8FkN0{du{k~CWKdCh z#(Bk0{rtHF8$Wy(xS#%ex!A4LslMVR}83?c(536%< z=C^;SEE4iZRaMqCZerJRhpA0n>QAOIB^^B>xQk`u-IMpWmcQ4VqgT#2!$C-CLV}yV zk;k;Fq6Z4Mr}4eows_Nb?(OaUdmzopr0O{*tasU7T literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_10.png b/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_10.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d05e419b05d1a56ae0c229ec18284b4f4b1f3a GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkEEak-aeD6Ly`qN>zNB_a-Sb8h_n82WAZD`$uQKWZ>B{(ct z>Tqq~*D1%MCiY(B`4kmlabQN8$q`F&!*gx<*4sY+w|sVCTEyI}wQu&n-CFQ+_JUQj m-${EP5?!~-eoNg3MY~;$Ny)djx*rF6fWgz%&t;ucLK6Th&24W0 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_11.png b/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_11.png new file mode 100644 index 0000000000000000000000000000000000000000..6642e5646ccbc9be83b0d2edf19451790b6b85fb GIT binary patch literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE9Q75R21uC-0U#WWdw%|Ho-I zlP?=My8{9?dV5)ME%P|45wLVYQp*dChMH}QZPrg(d--MJ&K-B+nG70LTpZbrqb53R zdJ@Alhd=t-f>qL9zf&vrO=o>?roh#tGJS)6T&%UbM^)d6{@W{e|GvF*f{N2R33k7q zK1-OAm+}=drET8CU+APAw%EM6RQHU`g5xiF3s-TS7yoqk+r2xtdAGMN3_2dA{rGMi t*W`Unp?6E}M+hzZvhvZwqX!v3GTvN~nye_laW2po44$rjF6*2UngESpat#0g literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_2.png b/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ba328f6ed6760f87ff07be3d94bdb42b1ab6c117 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkEkt?)qGF>Yb)wqwz&ON@`dh&vf7wr&mEV-e4S@c;{C|P X%IuXKu%h-U(8&y*u6{1-oD!M<5e;Ir literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_3.png b/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a6dc35f9a60dfdbdd9a816b326a1b9300d6f5c32 GIT binary patch literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkEz+b3V!p3u({>QJV@nv^Zb2!;quqc3~Ccv3S7?2aBWMu zX~iH@o*gA|tTSQ0^tS_*Tc1njO?M9U5E9G$t!prdgbm3Ey a^BxA#H37-0(Mv)8WbkzLb6Mw<&;$S@uw}6T literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_5.png b/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_5.png new file mode 100644 index 0000000000000000000000000000000000000000..c4f62763f7588379db98d8c78978fcedd7f323f4 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkEgm=aX2IL^MbHjM?n7&wW#WWO87>?vsv_Mqf9}wtDL~uF7mToz|lL gcU56V@+QT3rmupNe@yCejzcl^d_K>;j_!)ON2rWu#vEF+^ zp|Wf}W8ZF5?+aUGx7KUjnZNPLSuU4W&tH;z?#@rYuXEX^`S#NQl}RnGx8yq9`dxb# zTxorH&OSCmUrhOpW2BS7%9ahCODi|L%$eTQ{`ty*^+J~(1SM_rIh^DE@Y3uBnY#;n jRUe+(uVt$1Yj%XYN+T?}rTe@b(De+Su6{1-oD!M3tAtdw9~B@)sjP|M|U?wsaBp8cErFKz!fJ!bAYe#RXRLW`1GtoNQ! zs4QF0*tgqs|AI{Gtp9ro>Zgh3hbd_JT)O_`?LQmo%|4%b@}@g`sBmg$Rx3!^ilwpy zinm$+FG<|{L-MHH5h1RLUL3wLvnoY4zsz$tmOmHFEUvobWMJaAnQeFVTD|j|mc2ce jufrK`x9ZB4EjI-8XO>1LAAPYu1mpovS3j3^P6#NzbQ$s0uv83;Jnze{D7 zs=CqQsFxKCC>puy;1^M;5OKG0DQJR+E7qVDNPHb6Mw<&;$S!nrX!V literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_9.png b/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_9.png new file mode 100644 index 0000000000000000000000000000000000000000..e9cbd7d06fd5639a7a8f91c96512691f40591921 GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkEE~~Ak}`@{^m%gsy&K0heIM(o oRqys~REhbx;@7gT^3so(T{Gj8W%>VE0e!&W>FVdQ&MBb@04UCFDgXcg literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_AIR.png b/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_AIR.png new file mode 100644 index 0000000000000000000000000000000000000000..9d709ad4b9b64d3755c9980df6e015da4a87fea4 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE(~`V-Z1>P*z-OQD8gCb z5n0T@z%2~Ij105pNB{-dOFVsD*&lLnu^Te<3f~X~3iWupIEGl9K00}$;2{Sdmhbg< z7&$GMUf|tpu|(8;i_?<>f~pbT2|qqgwzX%Tt$88yoyyYJxq=ETqMjm35lfvGuVQaF z{qux*&*d`$>p8!>M}L0FFzJMr?UPf*%33?qt32j2IH)c1Pk4J`gLU)SL-(Ek?0Gvs yO5^;OeQ&?<++jJEsh7V-=-TRA?c4Itoe++)c1(Wpepx2aT@0SCelF{r5}E+1pk8MH literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_DEFAULT.png b/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_DEFAULT.png new file mode 100644 index 0000000000000000000000000000000000000000..d8f9721be0bf9ec6fe93be0289693d543dcab421 GIT binary patch literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE}%WVsU!uWJ9qg2Obyu-{08G zzEuh9CpkWi)p)C8!8+CbVAr8j$`dvUOgZ|2WsaV{@$8gIXU|>V&ETWJIq_qgP*z-OQD8gCb z5n0T@z%2~Ij105pNB{-dOFVsD*&lLnv71^PtXbP0l+XkK)P!}I literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_NOAIR.png b/src/main/resources/assets/structurelib/textures/blocks/iconsets/HINT_NOAIR.png new file mode 100644 index 0000000000000000000000000000000000000000..13102c6823738183b5a97ba67e2534a2816c3753 GIT binary patch literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE(`=r6svda9wfT^zQE5<8b+#N$&i3#?AAeEdA-7 zu X8}HWS>@U7R7c+Re`njxgN@xNAB#dT^ literal 0 HcmV?d00001