diff --git a/client/src/main/java/client/Client.java b/client/src/main/java/client/Client.java index 62159054..135135a8 100755 --- a/client/src/main/java/client/Client.java +++ b/client/src/main/java/client/Client.java @@ -1175,16 +1175,15 @@ public class Client implements IThreadListener { Block block = state.getBlock(); if(block != Blocks.air) { desc = block.getDisplay(); - if(block.getMiningTool() != null) - line2 = Color.BLUE + "Werkzeug" + Color.DARK_GRAY + ": " + Color.GREEN + block.getMiningTool().getDisplay() + (block.getMiningTool().isLevelled() ? Color.ORK + " Level " + Color.DARK_GREEN + (block.getMiningLevel() + 1) : ""); + line1 = block.getInfo(this.world, this.pointed.block, state, this.player); + boolean harvestable = this.player.canHarvestBlock(block); + line2 = Color.BLUE + "Werkzeug" + Color.DARK_GRAY + ": " + (block.getMiningTool() != null ? (block.getMaterial().isToolRequired() ? (harvestable ? Color.GREEN : Color.RED) : Color.LIGHT_GRAY) + block.getMiningTool().getDisplay() + (block.getMiningTool().isLevelled() ? (harvestable ? Color.ORK : Color.CRIMSON) + " Level " + (harvestable ? Color.DARK_GREEN : Color.DARK_RED) + (block.getMiningLevel() + 1) : "") : Color.GRAY + "Keins"); } } else if(this.pointed != null && this.pointed.type == ObjectType.ENTITY && this.pointed.entity != null) { Entity entity = this.pointed.entity; desc = entity.getName(); - if(entity instanceof EntityLiving living) { - line1 = living.formatStatsFull(); - } + line1 = entity.getInfo(this.player); line2 = Color.CYAN + EntityRegistry.getEntityName(EntityRegistry.getEntityString(entity)); } if(desc != null) { diff --git a/client/src/main/java/client/init/RenderRegistry.java b/client/src/main/java/client/init/RenderRegistry.java index 4022ca63..bbf175d9 100644 --- a/client/src/main/java/client/init/RenderRegistry.java +++ b/client/src/main/java/client/init/RenderRegistry.java @@ -144,7 +144,7 @@ public abstract class RenderRegistry { map.put(EntityBullet.class, new RenderBullet(mgr)); map.put(EntityMissile.class, new RenderMissile(mgr)); map.put(EntityLightning.class, new RenderLightning(mgr)); - models.put(ModelType.HUMANOID, new RenderHumanoid(mgr, 12, 12, "textures/npc/char.png")); + models.put(ModelType.HUMANOID, new RenderHumanoid(mgr, 12, 12, "textures/npc/knight_1.png")); models.put(ModelType.ARACHNOID, new RenderArachnoid(mgr)); models.put(ModelType.SLIME, new RenderSlime(mgr)); models.put(ModelType.DWARF, new RenderHumanoid(mgr, 10, 10, "textures/npc/dwarf.png")); diff --git a/client/src/main/resources/textures/npc/char.png b/client/src/main/resources/textures/npc/placeholder.png similarity index 100% rename from client/src/main/resources/textures/npc/char.png rename to client/src/main/resources/textures/npc/placeholder.png diff --git a/common/src/main/java/common/block/Block.java b/common/src/main/java/common/block/Block.java index 8c577709..9ab9416a 100755 --- a/common/src/main/java/common/block/Block.java +++ b/common/src/main/java/common/block/Block.java @@ -1098,4 +1098,9 @@ public class Block { @Clientside public void getTooltips(ItemStack stack, EntityNPC player, List tooltip) { } + + @Clientside + public String getInfo(World world, BlockPos pos, State state, EntityNPC player) { + return null; + } } diff --git a/common/src/main/java/common/block/tech/BlockChest.java b/common/src/main/java/common/block/tech/BlockChest.java index a1376c69..152d0fea 100755 --- a/common/src/main/java/common/block/tech/BlockChest.java +++ b/common/src/main/java/common/block/tech/BlockChest.java @@ -1,5 +1,6 @@ package common.block.tech; +import java.util.List; import java.util.Map; import common.block.Block; @@ -28,6 +29,7 @@ import common.tileentity.TileEntity; import common.tileentity.TileEntityChest; import common.util.BlockPos; import common.util.BoundingBox; +import common.util.Clientside; import common.util.Facing; import common.util.Color; import common.vars.Vars; @@ -250,6 +252,16 @@ public class BlockChest extends Block implements ITileEntityProvider, Rotatable return true; } + @Clientside + public void getTooltips(ItemStack stack, EntityNPC player, List tooltip) { + tooltip.add(Color.DARK_GREEN + "Kapazität" + Color.DARK_GRAY + ": " + Color.GREEN + (this.width * this.height)); + } + + @Clientside + public String getInfo(World world, BlockPos pos, State state, EntityNPC player) { + return Color.DARK_GREEN + "Kapazität für " + Color.GREEN + (this.width * this.height) + Color.DARK_GREEN + " Gegenstände"; + } + public Model getModel(ModelProvider provider, String name, State state) { return !state.getValue(OPEN) ? provider.getModel(name + "_top") diff --git a/common/src/main/java/common/entity/Entity.java b/common/src/main/java/common/entity/Entity.java index ffcd417a..a9e89f7e 100755 --- a/common/src/main/java/common/entity/Entity.java +++ b/common/src/main/java/common/entity/Entity.java @@ -2572,4 +2572,8 @@ public abstract class Entity public InventoryBasic getEntityInventory() { return null; } + + public String getInfo(EntityNPC player) { + return null; + } } diff --git a/common/src/main/java/common/entity/npc/EntityNPC.java b/common/src/main/java/common/entity/npc/EntityNPC.java index b6f3f035..ee59c251 100755 --- a/common/src/main/java/common/entity/npc/EntityNPC.java +++ b/common/src/main/java/common/entity/npc/EntityNPC.java @@ -1167,8 +1167,8 @@ public abstract class EntityNPC extends EntityLiving implements IInventory return super.formatStats() + (this.getManaPoints() == 0 ? "" : Color.GRAY + " [" + Color.MIDNIGHT + this.getManaPoints() + Color.GRAY + "]"); } - public String formatStatsFull() { - return super.formatStatsFull() + (this.getManaPoints() == 0 ? "" : Color.DARK_GRAY + " | " + Color.BLUE + this.getManaPoints() + Color.MIDNIGHT + " Mana"); + public String getInfo(EntityNPC player) { + return super.getInfo(player) + (this.getManaPoints() == 0 ? "" : Color.DARK_GRAY + " | " + Color.BLUE + this.getManaPoints() + Color.MIDNIGHT + " Mana"); } public MerchantRecipeList getTrades(EntityNPC player) { diff --git a/common/src/main/java/common/entity/types/EntityLiving.java b/common/src/main/java/common/entity/types/EntityLiving.java index 951e098a..86a6f1bc 100755 --- a/common/src/main/java/common/entity/types/EntityLiving.java +++ b/common/src/main/java/common/entity/types/EntityLiving.java @@ -2235,7 +2235,7 @@ public abstract class EntityLiving extends Entity this.getHealth(), this.getMaxHealth()); } - public String formatStatsFull() { + public String getInfo(EntityNPC player) { return String.format(this.getAlignment().color + this.getAlignment().display + Color.DARK_GRAY + " | " + getHealthColor(this.getHealth(), this.getMaxHealth()) + "%d" + Color.GRAY + " / " + getMaxHpColor(this.getMaxHealth()) + "%d" + Color.RED + " HP", this.getHealth(), this.getMaxHealth()); diff --git a/common/src/main/java/common/init/CraftingRegistry.java b/common/src/main/java/common/init/CraftingRegistry.java index 65f34bc1..7f072a3c 100755 --- a/common/src/main/java/common/init/CraftingRegistry.java +++ b/common/src/main/java/common/init/CraftingRegistry.java @@ -258,7 +258,14 @@ public abstract class CraftingRegistry addShapeless(new ItemStack(Items.fireball, 3), Items.gunpowder, Items.blazing_powder, Items.coal); addShapeless(new ItemStack(Items.fireball, 3), Items.gunpowder, Items.blazing_powder, Items.charcoal); add(new ItemStack(Items.hopper), "I I", "ICI", " I ", 'I', Items.iron_ingot, 'C', Items.wood_chest); - + + add(new ItemStack(Items.stone_chest), "III", "ICI", "III", 'I', Items.cobblestone, 'C', Items.wood_chest); + add(new ItemStack(Items.iron_chest), "III", "ICI", "III", 'I', Items.iron_ingot, 'C', Items.stone_chest); + add(new ItemStack(Items.platinum_chest), "III", "ICI", "III", 'I', Items.platinum_ingot, 'C', Items.iron_chest); + add(new ItemStack(Items.silver_chest), "III", "ICI", "III", 'I', Items.silver_ingot, 'C', Items.platinum_chest); + add(new ItemStack(Items.thetium_chest), "III", "ICI", "III", 'I', Items.thi_fragment, 'C', Items.silver_chest); + add(new ItemStack(Items.black_metal_chest), "III", "ICI", "III", 'I', Items.black_metal_ingot, 'C', Items.thetium_chest); + add(new ItemStack(Items.nichun_chest), "III", "ICI", "III", 'I', Items.nieh_fragment, 'C', Items.thetium_chest); add(new ItemStack(Items.dynamite, 1), "X#X", "#X#", "X#X", 'X', Items.gunpowder, '#', Items.clay_lump); add(new ItemStack(Items.dynamite_1), "X#X", "#X#", "X#X", 'X', Items.gunpowder, '#', Items.dynamite); diff --git a/common/src/main/java/common/init/SpeciesRegistry.java b/common/src/main/java/common/init/SpeciesRegistry.java index 67f11b65..61371a6d 100755 --- a/common/src/main/java/common/init/SpeciesRegistry.java +++ b/common/src/main/java/common/init/SpeciesRegistry.java @@ -86,7 +86,7 @@ public abstract class SpeciesRegistry { } static void register() { - registerSpecies("Cpu", EntityCpu.class, null, "Test-NSC", 0x202020, 0x8000ff, "Test:char", "Troll:trollface", "Hacker"); + registerSpecies("Cpu", EntityCpu.class, null, "Test-NSC", 0x202020, 0x8000ff, "Troll:trollface", "Hacker"); registerSpecies("Cultivator", EntityCultivator.class, "nienrath", "Kultivator", 0x000000, 0xff0000, "Wei Wuxian", 0x000000, 0xff0000, "Lan Wangji", 0xffffff, 0x80e0ff, "Jiang Cheng", 0x200000, 0xaf00ff, "Shen Qingqiu", 0xffffff, 0x80ff80, "Luo Binghe", 0x600000, 0x000000);