From d88b0946b5a50bb204c7ba23807fe9a868b4f6ef Mon Sep 17 00:00:00 2001 From: jsrobson10 Date: Tue, 28 Jul 2020 18:33:05 +1000 Subject: [PATCH] Added a way to craft stuff --- src/projectzombie/init/Items.java | 5 + src/projectzombie/init/Models.java | 2 + src/projectzombie/init/Recipies.java | 36 +- .../inventory/recipe/RecipeBasic.java | 1 + src/projectzombie/items/ItemFlintHatchet.java | 43 ++ src/projectzombie/items/ItemRock.java | 45 +- src/projectzombie/menu/MenuInventory.java | 6 +- .../menu/MenuInventoryBasic.java | 30 +- src/projectzombie/menu/gui/GUIItemHolder.java | 32 ++ src/projectzombie/menu/gui/GUIItemSlot.java | 6 +- .../menu/gui/GUIItemSlotGetter.java | 8 + src/projectzombie/menu/gui/GUIRecipeCard.java | 6 + src/projectzombie/tiles/TileGrass.java | 2 +- src/projectzombie/tiles/TileRock.java | 2 +- src/resources/shader/environmentRenderer.fsh | 8 +- src/resources/texture/item/flint_hatchet.png | Bin 0 -> 816 bytes src/resources/texture/list.txt | 435 +++++++++--------- 17 files changed, 380 insertions(+), 287 deletions(-) create mode 100644 src/projectzombie/items/ItemFlintHatchet.java create mode 100644 src/projectzombie/menu/gui/GUIRecipeCard.java create mode 100644 src/resources/texture/item/flint_hatchet.png diff --git a/src/projectzombie/init/Items.java b/src/projectzombie/init/Items.java index d849e09..4d37cd2 100755 --- a/src/projectzombie/init/Items.java +++ b/src/projectzombie/init/Items.java @@ -8,6 +8,7 @@ import projectzombie.items.ItemAmmo; import projectzombie.items.ItemEmpty; import projectzombie.items.ItemFlare; import projectzombie.items.ItemFlint; +import projectzombie.items.ItemFlintHatchet; import projectzombie.items.ItemGrapplingHook; import projectzombie.items.ItemHealthPotion; import projectzombie.items.ItemHempSeed; @@ -53,6 +54,8 @@ public class Items register(AMMO); register(INFESTATION); + + register(FLINT_HATCHET); } public static final Item AMMO = new ItemAmmo(); @@ -73,5 +76,7 @@ public class Items public static final Item HEMP_SEED = new ItemHempSeed(); public static final Item PLANT_FIBRE = new ItemPlantFibre(); + public static final Item FLINT_HATCHET = new ItemFlintHatchet(); + public static final Item INFESTATION = new ItemInfestation(); } diff --git a/src/projectzombie/init/Models.java b/src/projectzombie/init/Models.java index bdbceec..5d31012 100755 --- a/src/projectzombie/init/Models.java +++ b/src/projectzombie/init/Models.java @@ -139,6 +139,8 @@ public class Models public static final ModelItem ITEM_SANDSTONE = new ModelItem(Resources.ATLAS.get("/item/sandstone.png")); public static final ModelItem ITEM_FLINT = new ModelItem(Resources.ATLAS.get("/item/flint.png")); + public static final ModelItem ITEM_FLINT_HATCHET = new ModelItem(Resources.ATLAS.get("/item/flint_hatchet.png")); + public static final ModelItem ITEM_PLANT_FIBRE = new ModelItem(Resources.ATLAS.get("/item/plant_fibre.png")); public static final ModelItem ITEM_HEMP_SEED = new ModelItem(Resources.ATLAS.get("/item/hemp_seed.png")); public static final ModelItem ITEM_ACORN = new ModelItem(Resources.ATLAS.get("/item/acorn.png")); diff --git a/src/projectzombie/init/Recipies.java b/src/projectzombie/init/Recipies.java index cc0ccf0..12e9da4 100644 --- a/src/projectzombie/init/Recipies.java +++ b/src/projectzombie/init/Recipies.java @@ -11,19 +11,6 @@ public class Recipies { public static ArrayList recipies; - public static void init() - { - recipies = new ArrayList(); - - recipies.add(new RecipeBasic( - new ItemStack[] { - new ItemStack(Items.FLINT, 2, (short)0), - new ItemStack(Items.PLANT_FIBRE, 5, (short)0), - }, new Crafting[] { - Crafting.BASIC, - }, new ItemStack(Items.AMMO, 99, (short)0))); - } - public static Recipe[] getCraftableRecipies(Crafting tool) { int size = 0; @@ -45,4 +32,27 @@ public class Recipies return craftable_recipies; } + + public static void init() + { + recipies = new ArrayList(); + + recipies.add(new RecipeBasic( + new ItemStack[] { + new ItemStack(Items.FLINT, 2, (short)0), + new ItemStack(Items.PLANT_FIBRE, 5, (short)0), + }, new Crafting[] { + Crafting.BASIC, + }, new ItemStack(Items.FLINT_HATCHET, 1, (short)0))); + + recipies.add(new RecipeBasic( + new ItemStack[] { + new ItemStack(Items.FLINT, 1, (short)0), + new ItemStack(Items.PLANT_FIBRE, 1, (short)0), + }, new Crafting[] { + Crafting.BASIC, + }, new ItemStack(Items.FLINT_HATCHET, 1, (short)0))); + + + } } diff --git a/src/projectzombie/inventory/recipe/RecipeBasic.java b/src/projectzombie/inventory/recipe/RecipeBasic.java index b473d75..e34c030 100644 --- a/src/projectzombie/inventory/recipe/RecipeBasic.java +++ b/src/projectzombie/inventory/recipe/RecipeBasic.java @@ -14,6 +14,7 @@ public class RecipeBasic extends Recipe { this.stacks_required = stacks_required; this.tools_required = tools_required; + this.result = result; } @Override diff --git a/src/projectzombie/items/ItemFlintHatchet.java b/src/projectzombie/items/ItemFlintHatchet.java new file mode 100644 index 0000000..27c395f --- /dev/null +++ b/src/projectzombie/items/ItemFlintHatchet.java @@ -0,0 +1,43 @@ +package projectzombie.items; + +import projectzombie.init.Models; +import projectzombie.model.ModelItem; +import projectzombie.util.math.ItemStack; + +public class ItemFlintHatchet extends Item implements ItemTool +{ + public ItemFlintHatchet() { + max = 1; + } + + @Override + public int toolPowerAxe(ItemStack stack) { + return 1; + } + + @Override + public int toolPowerPickaxe(ItemStack stack) { + return 0; + } + + @Override + public int toolPowerShovel(ItemStack stack) { + return 0; + } + + @Override + public int toolSpeed(ItemStack stack) { + return 1; + } + + @Override + public void toolOnUse(ItemStack stack) { + + } + + @Override + public ModelItem getModel(short meta) { + return Models.ITEM_FLINT_HATCHET; + } + +} diff --git a/src/projectzombie/items/ItemRock.java b/src/projectzombie/items/ItemRock.java index 82a092d..d1e34ab 100755 --- a/src/projectzombie/items/ItemRock.java +++ b/src/projectzombie/items/ItemRock.java @@ -4,7 +4,7 @@ import projectzombie.init.Models; import projectzombie.model.ModelItem; import projectzombie.util.math.ItemStack; -public class ItemRock extends Item implements ItemTool +public class ItemRock extends Item { @Override @@ -18,45 +18,12 @@ public class ItemRock extends Item implements ItemTool } @Override - public String getName(short meta) { - return "Rock"; - } - - @Override - public void toolOnUse(ItemStack stack) { - - if(stack.meta == 1) { - return; - } - - stack.count -= 1; - } - - @Override - public int toolPowerAxe(ItemStack stack) + public String getName(short meta) { - if(stack.meta == 1) { - return 0; + switch(meta) { + case 1: return "Snow"; + case 2: return "Sandstone"; + default: return "Rock"; } - - return 1; } - - @Override - public int toolPowerPickaxe(ItemStack stack) { - return 0; - } - - @Override - public int toolPowerShovel(ItemStack stack) { - return 0; - } - - @Override - public int toolSpeed(ItemStack stack) { - return 1; - } - - - } diff --git a/src/projectzombie/menu/MenuInventory.java b/src/projectzombie/menu/MenuInventory.java index 878d806..7e84c65 100644 --- a/src/projectzombie/menu/MenuInventory.java +++ b/src/projectzombie/menu/MenuInventory.java @@ -60,7 +60,7 @@ public abstract class MenuInventory extends Menu for(int i=0;i<10;i++) { - GUIItemSlot slot = new GUIItemSlot(itemHolder, 1, false, new GUIItemSlotGetterStorage(inventory, i)); + GUIItemSlot slot = new GUIItemSlot(1, false, new GUIItemSlotGetterStorage(inventory, i)); slot.setPos(new Vec2d((i - 5) * offset + 0.325, 0.65 / 2 - 9.5)); @@ -73,7 +73,7 @@ public abstract class MenuInventory extends Menu int row = (i - 10) / 4; int col = (i - 10) % 4; - GUIItemSlot slot = new GUIItemSlot(itemHolder, 1.5, true, new GUIItemSlotGetterStorage(inventory, i)); + GUIItemSlot slot = new GUIItemSlot(1.5, true, new GUIItemSlotGetterStorage(inventory, i)); slot.setPos(new Vec2d(col * offset - inv_w + 0.325, -row * offset + inv_h / 2 - 1.175)); @@ -102,7 +102,7 @@ public abstract class MenuInventory extends Menu { int[] id = {i}; - GUIItemSlot slot = new GUIItemSlot(itemHolder, 1.5, true, new GUIItemSlotGetter() { + GUIItemSlot slot = new GUIItemSlot(1.5, true, new GUIItemSlotGetter() { @Override public void setItemStack(ItemStack stack) { diff --git a/src/projectzombie/menu/MenuInventoryBasic.java b/src/projectzombie/menu/MenuInventoryBasic.java index 752f907..edb7ce2 100644 --- a/src/projectzombie/menu/MenuInventoryBasic.java +++ b/src/projectzombie/menu/MenuInventoryBasic.java @@ -2,10 +2,12 @@ package projectzombie.menu; import gl_engine.matrix.Matrix4; import gl_engine.vec.Vec2d; +import projectzombie.Main; import projectzombie.init.Items; import projectzombie.init.Models; import projectzombie.init.Recipies; import projectzombie.inventory.Crafting; +import projectzombie.inventory.Inventory; import projectzombie.inventory.recipe.Recipe; import projectzombie.menu.gui.GUIContainerSlider; import projectzombie.menu.gui.GUIItemSlot; @@ -15,11 +17,16 @@ import projectzombie.util.math.ItemStack; public class MenuInventoryBasic extends MenuInventory { private GUIContainerSlider slider; + private Inventory inventory; + private Crafting tool; public MenuInventoryBasic(Menu parent, Crafting tool) { super(parent); + this.tool = tool; + Recipe[] recipies = Recipies.getCraftableRecipies(tool); + inventory = Main.player.getInventory(); slider = new GUIContainerSlider(new Vec2d( Models.UI_INVENTORY.getWidth() * 21 / 256.0, @@ -29,7 +36,9 @@ public class MenuInventoryBasic extends MenuInventory for(int i=0;i holding.item.max)) { + return; + } + + holding.count += hover.count; + holding.meta = hover.meta; + holding.item = hover.item; + + hover.count = 0; + + this.hover.setItemStack(hover); + this.hover.getter.onRemoveItemStack(); + } + @Override public void onRightClick(Vec2d pos) { @@ -72,6 +90,11 @@ public class GUIItemHolder implements GUIComponent return; } + if(hover.getter.mustTakeAll()) { + hoverToStack(pos); + return; + } + ItemStack hover = this.hover.getItemStack(); // Split the hovered slot in half if the holding slot is empty @@ -84,6 +107,7 @@ public class GUIItemHolder implements GUIComponent hover.count = (int)Math.floor(hover.count / 2.0); this.hover.setItemStack(hover); + this.hover.getter.onRemoveItemStack(); } // Put 1 item into the slot if the hovered slot is empty or equal to the holding slot @@ -108,6 +132,7 @@ public class GUIItemHolder implements GUIComponent stack_from.meta = stack_to.meta; this.hover.setItemStack(hover); + this.hover.getter.onRemoveItemStack(); } } } @@ -132,6 +157,11 @@ public class GUIItemHolder implements GUIComponent return; } + if(hover.getter.mustTakeAll()) { + hoverToStack(pos); + return; + } + ItemStack hover = this.hover.getItemStack(); // Are these the same item @@ -158,6 +188,7 @@ public class GUIItemHolder implements GUIComponent } this.hover.setItemStack(hover); + this.hover.getter.onRemoveItemStack(); } else if(holding.isEmpty() || this.hover.isItemAllowed(holding)) @@ -174,6 +205,7 @@ public class GUIItemHolder implements GUIComponent hover.meta = stack.meta; this.hover.setItemStack(hover); + this.hover.getter.onRemoveItemStack(); } } diff --git a/src/projectzombie/menu/gui/GUIItemSlot.java b/src/projectzombie/menu/gui/GUIItemSlot.java index bfd6fd6..b8f6cbb 100644 --- a/src/projectzombie/menu/gui/GUIItemSlot.java +++ b/src/projectzombie/menu/gui/GUIItemSlot.java @@ -11,17 +11,15 @@ import projectzombie.util.math.ItemStack; public class GUIItemSlot implements GUIComponent { - private GUIItemHolder itemHolder; + GUIItemSlotGetter getter; private Vec2d pos = new Vec2d(0, 0); - private GUIItemSlotGetter getter; private double hitboxSize; private boolean renderItem; private Model model_empty = Models.ITEM_EMPTY.getGuiModel(); - public GUIItemSlot(GUIItemHolder itemHolder, double hitboxSize, boolean renderItem, GUIItemSlotGetter getter) { + public GUIItemSlot(double hitboxSize, boolean renderItem, GUIItemSlotGetter getter) { this.renderItem = renderItem; this.hitboxSize = hitboxSize; - this.itemHolder = itemHolder; this.getter = getter; } diff --git a/src/projectzombie/menu/gui/GUIItemSlotGetter.java b/src/projectzombie/menu/gui/GUIItemSlotGetter.java index 809cff6..bd3fa95 100644 --- a/src/projectzombie/menu/gui/GUIItemSlotGetter.java +++ b/src/projectzombie/menu/gui/GUIItemSlotGetter.java @@ -6,4 +6,12 @@ public interface GUIItemSlotGetter { public boolean isAllowed(ItemStack stack); public ItemStack getItemStack(); public void setItemStack(ItemStack stack); + + public default void onRemoveItemStack() { + + } + + public default boolean mustTakeAll() { + return false; + } } diff --git a/src/projectzombie/menu/gui/GUIRecipeCard.java b/src/projectzombie/menu/gui/GUIRecipeCard.java new file mode 100644 index 0000000..4f470fa --- /dev/null +++ b/src/projectzombie/menu/gui/GUIRecipeCard.java @@ -0,0 +1,6 @@ +package projectzombie.menu.gui; + +public class GUIRecipeCard implements GUIContainer +{ + +} diff --git a/src/projectzombie/tiles/TileGrass.java b/src/projectzombie/tiles/TileGrass.java index 95aae73..d5fd7ea 100755 --- a/src/projectzombie/tiles/TileGrass.java +++ b/src/projectzombie/tiles/TileGrass.java @@ -20,7 +20,7 @@ public class TileGrass extends Tile public void tickRandomly(Layer layer, Chunk chunk, TileState state, Vec2i pos) { super.tickRandomly(layer, chunk, state, pos); - if(Math.random() > 0.95) + if(Math.random() > 0.8) { Vec2i cpos = pos.add(new Vec2i((int)Math.floor(Math.random() * 3) - 1, (int)Math.floor(Math.random() * 3) - 1)); diff --git a/src/projectzombie/tiles/TileRock.java b/src/projectzombie/tiles/TileRock.java index 31a892d..df60277 100755 --- a/src/projectzombie/tiles/TileRock.java +++ b/src/projectzombie/tiles/TileRock.java @@ -37,7 +37,7 @@ public class TileRock extends Tile implements TileBulletBreakable public ItemStack[] getTileDrops(TileState state) { return new ItemStack[] { new ItemStack(Items.ROCK, 1, state.meta), - new ItemStack(Items.FLINT, state.meta == 0 && Math.random() > 0.9 ? 1 : 0, (short)0), + new ItemStack(Items.FLINT, state.meta == 0 && Math.random() > 0.8 ? 1 : 0, (short)0), }; } diff --git a/src/resources/shader/environmentRenderer.fsh b/src/resources/shader/environmentRenderer.fsh index 994933d..7872ca1 100644 --- a/src/resources/shader/environmentRenderer.fsh +++ b/src/resources/shader/environmentRenderer.fsh @@ -79,8 +79,8 @@ void main() vec2 sunDepthTexPos = pSunDepth.xy * 0.5 + 0.5; - vec3 light_day = pSunDepth.z < (texture(depthmap, sunDepthTexPos).r * 2 - 1 + depth_c - ) ? lighting_day_high : lighting_day_low; + vec3 light_day = max(vec3(0), pSunDepth.z < (texture(depthmap, sunDepthTexPos).r * 2 - 1 + depth_c + ) ? lighting_day_high : lighting_day_low); vec3 light_src = vec3(1, 1, 1) * (scaleLight(max(0, light.r)) - abs(pLightMapPos.y) * 0.1); vec4 rgb = vec4((pRGB % 64) / 64.0, ((pRGB >> 6) % 64) / 64.0, ((pRGB >> 12) % 64) / 64.0, 1); @@ -95,10 +95,6 @@ void main() FragColor = (fog + (1 - fog) * textureRGB * (mod(int(pFlags / 4), 2) == 1 ? color_grass : vec4(1,1,1,1)) * color) * vec4(biggest(light_day, light_src), pFade) * (mod(int(pFlags / 2), 2) == 1 ? rgb : vec4(1, 1, 1, 1)) * saturation + contrast; - - FragColor.r = min(1, FragColor.r); - FragColor.g = min(1, FragColor.g); - FragColor.b = min(1, FragColor.b); } discard(textureRGB.a == 0 || (do_discard_coords == 1 && ( diff --git a/src/resources/texture/item/flint_hatchet.png b/src/resources/texture/item/flint_hatchet.png new file mode 100644 index 0000000000000000000000000000000000000000..8567f5e0f4d14612985d96216edcee374e68aaa7 GIT binary patch literal 816 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7TQZ%U13aCb6$*;-(=u~X z85lGs)=sqbI2<6->L0vRNtE5XqvS-uT%C?Ci!5!Cg-$C(qe=}bU&@T{bpDgnL6vLF=NKA+_WH0 z!|Cy&&g(f8yA-Bs7@wXoeThlU_3O4wHT%0i>-?{-U&pvL!B9a#=)B?KEuH2a>1Mgj zpX~};rlwB)F{k3r61GnHo$D(89NYP1(*a}UG_%PneFEJ}^}=?|nCjbGG0S3Emeo^k z%l^=F(Q~$D&E5L@i9V0`m#L}if?X#bQktgV*wSRBwc?Q5oU*wh+>%!QKYqB!?03;? zjS)2{(pkX9yXiIi|K|Ifw{`_jjtjD2{IbvD+;I(oTdYyM$A8+D&AG-YP{X$FOW*!$ zENS+h`6XL!2pa6*jfp8YN#);hhp}xw&&?^ZnjWem-3NY4)&|Q->|*_Oeb3IV=L>%^ zq-2J@lz#9)Kten4+phDwfA4z!?fu+uf9e?GWsBzT-s2<2z`($kx;TbdoSqwGoy8O=V*5TxT_~3+$xz?~ zlbgWl9qi^4jw#LFaPe5qfkVecQ+PLS3DjvZICMZnX^8}@WZU=I)1BNGIUh5(yt;c& z^*P(;MK{_1wL4yJ4H8)k=k_!%*xNcmhKEP_{Qma~jNZ*i5P!J$ zJHuL0x%AMQ{W1ohYNmaQ(A~H@V&luIdaXUL_s6gw)N2aXPqw=G|E6>0x7<5{ab?Tn zj(vPP`6*{gnZUPbwJj>?EQjh&FFCUKY3rrjwAm{q8}HBTZo0H`+syor%vsM0yzYDa St6*SYVDNPHb6Mw<&;$U^e^jdg literal 0 HcmV?d00001 diff --git a/src/resources/texture/list.txt b/src/resources/texture/list.txt index e790977..700a538 100644 --- a/src/resources/texture/list.txt +++ b/src/resources/texture/list.txt @@ -1,232 +1,233 @@ -./text/char_question.png -./text/char_l_a.png -./text/char_u_j.png -./text/char_l_u.png -./text/char_u_s.png -./text/char_l_s.png -./text/char_apostrophe.png -./text/char_plus.png -./text/char_l_e.png -./text/char_7.png -./text/char_minus.png -./text/char_u_r.png -./text/char_u_l.png -./text/char_obracket.png -./text/char_pow.png -./text/char_u_m.png -./text/char_l_t.png -./text/char_percent.png -./text/char_l_y.png -./text/char_0.png -./text/char_4.png -./text/char_l_r.png -./text/char_l_m.png -./text/char_cbracket.png -./text/char_u_g.png -./text/char_u_q.png -./text/char_u_i.png -./text/char_tilde.png -./text/char_l_w.png -./text/char_l_v.png -./text/char_fslash.png -./text/char_u_p.png -./text/char_gthan.png -./text/char_8.png -./text/char_unknown.png -./text/char_and.png -./text/char_osbracket.png -./text/char_u_n.png -./text/char_l_i.png -./text/char_u_y.png -./text/char_l_p.png -./text/char_lthan.png -./text/char_l_g.png -./text/char_bslash.png -./text/char_1.png -./text/char_u_z.png -./text/char_l_f.png -./text/char_u_w.png -./text/char_9.png -./text/char_l_x.png -./text/char_ccbracket.png -./text/char_l_o.png -./text/char_equals.png -./text/char_l_d.png -./text/char_dollar.png -./text/char_hashtag.png -./text/char_l_q.png -./text/char_u_o.png -./text/char_6.png -./text/char_u_d.png -./text/char_u_e.png -./text/char_exclamation.png -./text/char_vertical.png -./text/char_ocbracket.png -./text/char_u_k.png -./text/char_u_c.png -./text/char_l_n.png -./text/char_semicolon.png -./text/char_u_b.png -./text/char_u_f.png -./text/char_l_h.png -./text/char_l_k.png -./text/char_u_t.png -./text/char_3.png -./text/char_u_v.png -./text/char_u_h.png -./text/char_quotation.png -./text/char_u_a.png -./text/char_l_b.png -./text/char_underscore.png -./text/char_u_x.png -./text/char_comma.png -./text/char_csbracket.png -./text/char_l_l.png -./text/char_5.png -./text/char_star.png -./text/char_colon.png -./text/char_l_z.png -./text/char_space.png -./text/char_2.png -./text/char_at.png -./text/char_grave.png -./text/char_l_j.png -./text/char_fullstop.png -./text/char_l_c.png -./text/char_u_u.png +./tile/hemp6.png +./tile/hemp7.png +./tile/hemp1.png +./tile/rock.png +./tile/rock_ice.png +./tile/sapling3.png +./tile/ladder.png +./tile/tree_leaves_snow.png +./tile/ice_wall.png +./tile/water.png +./tile/sandstone_wall.png +./tile/ladder_up.png +./tile/cactus4.png +./tile/tall_grass.png +./tile/cactus2.png +./tile/grass_infested.png +./tile/tree_branch_leaves.png +./tile/dirt.png +./tile/wall.png +./tile/tree_base.png +./tile/cactus1.png +./tile/sapling4.png +./tile/hemp3.png +./tile/cactus_top.png +./tile/tunnel_down.png +./tile/stone.png +./tile/snow.png +./tile/boss_portal.png +./tile/hemp4.png +./tile/sand.png +./tile/lantern.png +./tile/ice.png +./tile/sapling1.png +./tile/chest.png +./tile/hemp2.png +./tile/hemp8.png +./tile/cactus3.png +./tile/lava.png +./tile/tree_leaves.png +./tile/hemp5.png +./tile/lava_flow.png +./tile/grass.png +./tile/tree_branch.png +./tile/sandstone.png +./tile/tree_branch_leaves_snow.png +./tile/rock_sandstone.png +./tile/sapling2.png ./list.txt -./player/player_white_front_moving.png -./player/player_white_back_moving.png -./player/player_black_back_moving.png -./player/player_black_back_still.png +./item/log.png +./item/rock.png +./item/acorn.png +./item/ammo_box.png +./item/plant_fibre.png +./item/flint_hatchet.png +./item/hemp_seed.png +./item/shield_upgrade.png +./item/grappling_hook.png +./item/log_snow.png +./item/health_potion.png +./item/snow_pile.png +./item/gun_upgrade.png +./item/sandstone.png +./item/flint.png ./player/player_white_back_still.png ./player/player_white_front_still.png ./player/player_black_front_moving.png ./player/player_black_front_still.png -./particle/smoke_trail.png -./particle/water.png -./particle/smoke_0.png -./particle/smoke_1.png -./particle/blood.png -./particle/lava.png -./particle/bullet.png -./particle/smoke_2.png -./particle/snow.png -./particle/rain.png -./particle/smoke_4.png -./particle/smoke_3.png -./particle/smoke_5.png -./gui/temperature.png -./gui/slot_armor_chest.png -./gui/health_empty.png -./gui/button_hover.png +./player/player_black_back_moving.png +./player/player_black_back_still.png +./player/player_white_back_moving.png +./player/player_white_front_moving.png +./gui/selection_box_wide.png +./gui/text_box.png +./gui/pixel_white.png ./gui/water.png +./gui/gun.png +./gui/button_delete.png +./gui/button_delete_hover.png +./gui/slot_armor_chest.png +./gui/pixel_black.png +./gui/slot_clothing_shirt.png +./gui/button_play.png ./gui/slot_armor_legs.png ./gui/selection_box_big.png -./gui/button_normal.png -./gui/label.png -./gui/hotbar.png -./gui/slot_armor_helmet.png -./gui/button_delete.png -./gui/text_cursor.png ./gui/inventory.png -./gui/button_delete_hover.png -./gui/button_play_hover.png -./gui/health_full.png -./gui/hotbar_selected.png -./gui/slot_clothing_shirt.png -./gui/pixel_white.png -./gui/pixel_black.png +./gui/label.png ./gui/slot_clothing_pants.png -./gui/text_box.png -./gui/shield.png +./gui/health_empty.png +./gui/hotbar_selected.png +./gui/health_full.png +./gui/temperature.png +./gui/button_play_hover.png +./gui/text_cursor.png +./gui/slot_armor_helmet.png ./gui/slot_clothing_boots.png -./gui/selection_box_wide.png -./gui/gun.png -./gui/button_play.png -./tile/cactus4.png -./tile/hemp1.png -./tile/dirt.png -./tile/lantern.png -./tile/hemp8.png -./tile/wall.png -./tile/cactus_top.png -./tile/cactus2.png -./tile/rock.png -./tile/water.png -./tile/hemp4.png -./tile/stone.png -./tile/tree_leaves.png -./tile/sapling2.png -./tile/ladder_up.png -./tile/sapling3.png -./tile/lava_flow.png -./tile/ice_wall.png -./tile/grass.png -./tile/chest.png -./tile/sapling4.png -./tile/lava.png -./tile/tall_grass.png -./tile/hemp5.png -./tile/sapling1.png -./tile/snow.png -./tile/sandstone_wall.png -./tile/rock_sandstone.png -./tile/hemp6.png -./tile/cactus1.png -./tile/tree_branch_leaves.png -./tile/tunnel_down.png -./tile/tree_branch_leaves_snow.png -./tile/tree_leaves_snow.png -./tile/rock_ice.png -./tile/boss_portal.png -./tile/ladder.png -./tile/hemp7.png -./tile/grass_infested.png -./tile/tree_branch.png -./tile/sand.png -./tile/tree_base.png -./tile/cactus3.png -./tile/sandstone.png -./tile/hemp3.png -./tile/hemp2.png -./tile/ice.png -./entity/flare.png -./entity/grappling_hook.png -./entity/zombie_back_moving.png -./entity/tnt.png +./gui/hotbar.png +./gui/button_normal.png +./gui/shield.png +./gui/button_hover.png +./text/char_bslash.png +./text/char_dollar.png +./text/char_l_w.png +./text/char_u_d.png +./text/char_u_t.png +./text/char_space.png +./text/char_l_x.png +./text/char_l_k.png +./text/char_6.png +./text/char_unknown.png +./text/char_comma.png +./text/char_obracket.png +./text/char_u_w.png +./text/char_7.png +./text/char_l_f.png +./text/char_vertical.png +./text/char_plus.png +./text/char_u_a.png +./text/char_star.png +./text/char_9.png +./text/char_u_k.png +./text/char_grave.png +./text/char_u_n.png +./text/char_percent.png +./text/char_u_m.png +./text/char_exclamation.png +./text/char_1.png +./text/char_l_q.png +./text/char_l_z.png +./text/char_l_h.png +./text/char_u_c.png +./text/char_l_g.png +./text/char_l_s.png +./text/char_fullstop.png +./text/char_u_j.png +./text/char_l_m.png +./text/char_l_t.png +./text/char_u_v.png +./text/char_colon.png +./text/char_l_i.png +./text/char_l_y.png +./text/char_semicolon.png +./text/char_u_l.png +./text/char_apostrophe.png +./text/char_u_e.png +./text/char_5.png +./text/char_2.png +./text/char_3.png +./text/char_l_p.png +./text/char_and.png +./text/char_fslash.png +./text/char_l_u.png +./text/char_u_f.png +./text/char_u_u.png +./text/char_at.png +./text/char_l_e.png +./text/char_l_l.png +./text/char_u_g.png +./text/char_u_q.png +./text/char_u_b.png +./text/char_l_o.png +./text/char_csbracket.png +./text/char_osbracket.png +./text/char_minus.png +./text/char_l_v.png +./text/char_lthan.png +./text/char_u_s.png +./text/char_equals.png +./text/char_8.png +./text/char_ccbracket.png +./text/char_underscore.png +./text/char_u_x.png +./text/char_0.png +./text/char_l_d.png +./text/char_l_c.png +./text/char_l_j.png +./text/char_u_z.png +./text/char_u_h.png +./text/char_pow.png +./text/char_hashtag.png +./text/char_gthan.png +./text/char_cbracket.png +./text/char_u_i.png +./text/char_question.png +./text/char_u_o.png +./text/char_u_y.png +./text/char_l_r.png +./text/char_l_b.png +./text/char_ocbracket.png +./text/char_l_a.png +./text/char_quotation.png +./text/char_l_n.png +./text/char_u_p.png +./text/char_tilde.png +./text/char_u_r.png +./text/char_4.png ./entity/armored_zombie_back_moving.png -./entity/armored_zombie_front_moving.png -./entity/player/hair_side.png -./entity/player/head_top.png -./entity/player/head_side.png -./entity/player/head_back.png -./entity/player/head_bottom.png -./entity/player/hair_front.png -./entity/player/head_front.png -./entity/player/hair_back.png -./entity/player/hair_top.png -./entity/dummy.png -./entity/armored_zombie_front_still.png -./entity/armored_zombie_back_still.png -./entity/zombie_front_moving.png -./entity/boss1/boss_walking_firing.png +./entity/zombie_front_still.png +./entity/tnt.png +./entity/flare.png +./entity/boss1/boss_walking.png ./entity/boss1/boss_firing.png ./entity/boss1/boss_still.png -./entity/boss1/boss_walking.png +./entity/boss1/boss_walking_firing.png +./entity/armored_zombie_back_still.png +./entity/armored_zombie_front_moving.png +./entity/player/head_back.png +./entity/player/hair_top.png +./entity/player/head_front.png +./entity/player/head_top.png +./entity/player/hair_side.png +./entity/player/head_side.png +./entity/player/hair_back.png +./entity/player/hair_front.png +./entity/player/head_bottom.png +./entity/grappling_hook.png ./entity/zombie_back_still.png -./entity/zombie_front_still.png -./item/acorn.png -./item/grappling_hook.png -./item/gun_upgrade.png -./item/shield_upgrade.png -./item/rock.png -./item/log.png -./item/log_snow.png -./item/hemp_seed.png -./item/ammo_box.png -./item/plant_fibre.png -./item/health_potion.png -./item/snow_pile.png -./item/flint.png -./item/sandstone.png +./entity/dummy.png +./entity/zombie_back_moving.png +./entity/armored_zombie_front_still.png +./entity/zombie_front_moving.png +./particle/smoke_1.png +./particle/water.png +./particle/rain.png +./particle/blood.png +./particle/snow.png +./particle/smoke_3.png +./particle/smoke_4.png +./particle/smoke_2.png +./particle/smoke_0.png +./particle/bullet.png +./particle/lava.png +./particle/smoke_trail.png +./particle/smoke_5.png