diff --git a/.gitignore b/.gitignore index adb385c..bab2bf3 100755 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ /bin/ +/run/ hs_err_pid* -*.bdf diff --git a/run/saves.bdf.gz b/run/saves.bdf.gz deleted file mode 100644 index cfd86a5..0000000 Binary files a/run/saves.bdf.gz and /dev/null differ diff --git a/run/saves/world/c_0_-10_10.bdf.gz b/run/saves/world/c_0_-10_10.bdf.gz deleted file mode 100644 index 440b7e3..0000000 Binary files a/run/saves/world/c_0_-10_10.bdf.gz and /dev/null differ diff --git a/run/saves/world/c_0_-5_0.bdf.gz b/run/saves/world/c_0_-5_0.bdf.gz deleted file mode 100644 index ea33eb8..0000000 Binary files a/run/saves/world/c_0_-5_0.bdf.gz and /dev/null differ diff --git a/run/saves/world/world.bdf.gz b/run/saves/world/world.bdf.gz deleted file mode 100644 index e3a9166..0000000 Binary files a/run/saves/world/world.bdf.gz and /dev/null differ diff --git a/run/settings.bdf.gz b/run/settings.bdf.gz deleted file mode 100644 index d3e3dd6..0000000 Binary files a/run/settings.bdf.gz and /dev/null differ diff --git a/src/projectzombie/Main.java b/src/projectzombie/Main.java index 484ea1e..e6e9dbb 100755 --- a/src/projectzombie/Main.java +++ b/src/projectzombie/Main.java @@ -2,6 +2,7 @@ package projectzombie; import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; +import java.io.File; import java.io.IOException; import java.util.Random; @@ -62,6 +63,19 @@ public class Main { try { + Environment.init(args); + File global_dir = new File(Environment.gdir); + + // Make this directory if it doesn't exist + if(!global_dir.isDirectory()) + { + if(global_dir.exists()) { + global_dir.delete(); + } + + global_dir.mkdirs(); + } + Runtime runtime = Runtime.getRuntime(); int cores = runtime.availableProcessors(); @@ -84,7 +98,6 @@ public class Main MathHelpers.init(); Settings.init(); - Environment.init(args); Cheats.init(args); Items.init(); diff --git a/src/projectzombie/display/DisplayLighting.java b/src/projectzombie/display/DisplayLighting.java index 948d2a5..41c06d9 100755 --- a/src/projectzombie/display/DisplayLighting.java +++ b/src/projectzombie/display/DisplayLighting.java @@ -15,7 +15,7 @@ import gl_engine.vec.Vec2i; import projectzombie.Main; import projectzombie.entity.Entity; import projectzombie.entity.player.EntityPlayer; -import projectzombie.util.math.TileState; +import projectzombie.util.TileState; import projectzombie.world.chunk.Chunk; import projectzombie.world.chunk.ChunkEventHandler; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/display/DisplayRender.java b/src/projectzombie/display/DisplayRender.java index da617c2..1278974 100755 --- a/src/projectzombie/display/DisplayRender.java +++ b/src/projectzombie/display/DisplayRender.java @@ -13,7 +13,7 @@ import gl_engine.matrix.Matrix4; import projectzombie.Main; import projectzombie.entity.player.EntityPlayer; import projectzombie.settings.SettingQuality; -import projectzombie.util.math.ColorRange; +import projectzombie.util.ColorRange; import projectzombie.world.chunk.ChunkEventHandler; import projectzombie.world.layer.layergen.LayerGen; diff --git a/src/projectzombie/display/DisplayRenderUI.java b/src/projectzombie/display/DisplayRenderUI.java index 35e9c7f..1d628b3 100755 --- a/src/projectzombie/display/DisplayRenderUI.java +++ b/src/projectzombie/display/DisplayRenderUI.java @@ -14,8 +14,8 @@ import projectzombie.inventory.Inventory; import projectzombie.model.Model; import projectzombie.model.ModelGui; import projectzombie.text.Text; +import projectzombie.util.ItemStack; import projectzombie.util.gl.GlHelpers; -import projectzombie.util.math.ItemStack; import projectzombie.world.chunk.ChunkEventHandler; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/entity/Entity.java b/src/projectzombie/entity/Entity.java index 9c2f1dd..50bc962 100755 --- a/src/projectzombie/entity/Entity.java +++ b/src/projectzombie/entity/Entity.java @@ -5,6 +5,7 @@ import java.lang.reflect.InvocationTargetException; import java.util.Random; import projectzombie.util.ClassBdf; +import projectzombie.util.TileState; import bdf.types.BdfNamedList; import bdf.types.BdfObject; import gl_engine.MathHelpers; @@ -15,7 +16,6 @@ import projectzombie.Main; import projectzombie.init.Entities; import projectzombie.model.IModel; import projectzombie.tiles.Tile; -import projectzombie.util.math.TileState; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; @@ -294,7 +294,7 @@ public abstract class Entity implements ClassBdf isDead = true; } - public void activateTile(Vec2i tpos) + public boolean activateTile(Vec2i tpos) { // Get the tile position and the layer Layer layer = Main.world.getLayer(); @@ -302,8 +302,9 @@ public abstract class Entity implements ClassBdf TileState tile_back = layer.getBackTile(tpos); // Activate both tiles - tile_front.tile.onActivated(layer, tpos, this, tile_front); - tile_back.tile.onActivated(layer, tpos, this, tile_back); + return ( + tile_front.tile.onActivated(layer, tpos, this, tile_front) || + tile_back.tile.onActivated(layer, tpos, this, tile_back)); } public void activateSteppedOnTile() diff --git a/src/projectzombie/entity/EntityBoss.java b/src/projectzombie/entity/EntityBoss.java index efc2833..b5672e2 100755 --- a/src/projectzombie/entity/EntityBoss.java +++ b/src/projectzombie/entity/EntityBoss.java @@ -17,7 +17,7 @@ import projectzombie.init.Tiles; import projectzombie.items.modifier.ItemModifierMeta; import projectzombie.model.Model; import projectzombie.time.GameTimer; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.util.math.random.OpenSimplexNoise; import projectzombie.util.math.random.RandomHelpers; import projectzombie.world.chunk.Chunk; diff --git a/src/projectzombie/entity/EntityExplosion.java b/src/projectzombie/entity/EntityExplosion.java index 409a145..b35b928 100755 --- a/src/projectzombie/entity/EntityExplosion.java +++ b/src/projectzombie/entity/EntityExplosion.java @@ -13,7 +13,7 @@ import projectzombie.init.Models; import projectzombie.init.Sounds; import projectzombie.init.Tiles; import projectzombie.model.Model; -import projectzombie.util.math.TileState; +import projectzombie.util.TileState; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/entity/EntityItem.java b/src/projectzombie/entity/EntityItem.java index 2106d5f..5737226 100755 --- a/src/projectzombie/entity/EntityItem.java +++ b/src/projectzombie/entity/EntityItem.java @@ -5,7 +5,7 @@ import bdf.types.BdfObject; import gl_engine.MathHelpers; import gl_engine.vec.Vec3d; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/entity/EntityZombie.java b/src/projectzombie/entity/EntityZombie.java index 491d2da..b0fe0bc 100755 --- a/src/projectzombie/entity/EntityZombie.java +++ b/src/projectzombie/entity/EntityZombie.java @@ -157,6 +157,11 @@ public class EntityZombie extends Entity implements EntityAlive, EntityKillWithP } } + // Despawn + if(player_distance > 128) { + kill(); + } + // Increase time time += 0.001; } diff --git a/src/projectzombie/entity/player/EntityPlayer.java b/src/projectzombie/entity/player/EntityPlayer.java index e7b214b..417901a 100755 --- a/src/projectzombie/entity/player/EntityPlayer.java +++ b/src/projectzombie/entity/player/EntityPlayer.java @@ -35,8 +35,8 @@ import projectzombie.settings.Cheats; import projectzombie.task.Task; import projectzombie.task.TaskDeathScreen; import projectzombie.tiles.TileSapling; -import projectzombie.util.math.ItemStack; -import projectzombie.util.math.TileState; +import projectzombie.util.ItemStack; +import projectzombie.util.TileState; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; @@ -103,9 +103,6 @@ public class EntityPlayer extends Entity implements if(hydration > 1) { hydration = 1; } - - inventory.addItem(new ItemStack(Items.TORCH, 1)); - inventory.addItem(new ItemStack(Items.LANTERN, 1)); } public int getAmmo() { @@ -340,8 +337,8 @@ public class EntityPlayer extends Entity implements Vec2d movement = MathHelpers.moveTowards2(1, Math.toRadians(angle)); Vec2d place_pos = getPos().xz().add(movement); - if(is.isEmpty() || !is.item.onPlayerRightClick(is, Main.world.getLayer(), this, place_pos)) { - activateTile(getPos().xz().add(movement.multiply(0.5)).toInt()); + if(!activateTile(getPos().xz().add(movement.multiply(0.5)).toInt()) && !is.isEmpty()) { + is.item.onPlayerRightClick(is, Main.world.getLayer(), this, place_pos); } } diff --git a/src/projectzombie/entity/tileentity/TileEntityBlastFurnace.java b/src/projectzombie/entity/tileentity/TileEntityBlastFurnace.java index 351585d..5d99a71 100644 --- a/src/projectzombie/entity/tileentity/TileEntityBlastFurnace.java +++ b/src/projectzombie/entity/tileentity/TileEntityBlastFurnace.java @@ -15,8 +15,8 @@ import projectzombie.items.ItemSmeltable; import projectzombie.items.modifier.ItemModifierDamage; import projectzombie.menu.MenuInventoryStorage; import projectzombie.menu.gui.GUIItemSlotGetter; -import projectzombie.util.math.ItemStack; -import projectzombie.util.math.TileState; +import projectzombie.util.ItemStack; +import projectzombie.util.TileState; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/entity/tileentity/TileEntityCampfire.java b/src/projectzombie/entity/tileentity/TileEntityCampfire.java index c2aab41..74bbd3f 100644 --- a/src/projectzombie/entity/tileentity/TileEntityCampfire.java +++ b/src/projectzombie/entity/tileentity/TileEntityCampfire.java @@ -14,8 +14,8 @@ import projectzombie.items.ItemSmeltable; import projectzombie.items.modifier.ItemModifierDamage; import projectzombie.menu.MenuInventoryStorage; import projectzombie.menu.gui.GUIItemSlotGetter; -import projectzombie.util.math.ItemStack; -import projectzombie.util.math.TileState; +import projectzombie.util.ItemStack; +import projectzombie.util.TileState; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/entity/tileentity/TileEntityClayPot.java b/src/projectzombie/entity/tileentity/TileEntityClayPot.java index ea31f0c..5b02f06 100644 --- a/src/projectzombie/entity/tileentity/TileEntityClayPot.java +++ b/src/projectzombie/entity/tileentity/TileEntityClayPot.java @@ -2,7 +2,7 @@ package projectzombie.entity.tileentity; import bdf.types.BdfNamedList; import bdf.types.BdfObject; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class TileEntityClayPot extends TileEntity { diff --git a/src/projectzombie/init/ItemModifiers.java b/src/projectzombie/init/ItemModifiers.java index 0448604..9d8fe02 100644 --- a/src/projectzombie/init/ItemModifiers.java +++ b/src/projectzombie/init/ItemModifiers.java @@ -8,6 +8,7 @@ import projectzombie.items.modifier.ItemModifierDamage; import projectzombie.items.modifier.ItemModifierFluidStorage; import projectzombie.items.modifier.ItemModifierMeta; import projectzombie.items.modifier.ItemModifierTimer; +import projectzombie.items.modifier.ItemModifierTimerPaused; import projectzombie.items.modifier.ItemModifierWater; public class ItemModifiers @@ -33,5 +34,6 @@ public class ItemModifiers register(ItemModifierFluidStorage.class); register(ItemModifierWater.class); register(ItemModifierTimer.class); + register(ItemModifierTimerPaused.class); } } diff --git a/src/projectzombie/init/Items.java b/src/projectzombie/init/Items.java index 2d02448..1ad8e4d 100755 --- a/src/projectzombie/init/Items.java +++ b/src/projectzombie/init/Items.java @@ -11,6 +11,7 @@ import projectzombie.items.ItemCampfire; import projectzombie.items.ItemCharcoal; import projectzombie.items.ItemClayPot; import projectzombie.items.ItemClayPotWet; +import projectzombie.items.ItemCoal; import projectzombie.items.ItemEmpty; import projectzombie.items.ItemFlare; import projectzombie.items.ItemFlint; @@ -76,6 +77,7 @@ public class Items register(CLAY_POT); register(CLAY_POT_WET); register(TORCH); + register(COAL); } public static final Item AMMO = new ItemAmmo(); @@ -108,4 +110,5 @@ public class Items public static final Item CLAY_POT = new ItemClayPot(); public static final Item CLAY_POT_WET = new ItemClayPotWet(); public static final Item TORCH = new ItemTorch(); + public static final Item COAL = new ItemCoal(); } diff --git a/src/projectzombie/init/Models.java b/src/projectzombie/init/Models.java index 9b801ff..703b19b 100755 --- a/src/projectzombie/init/Models.java +++ b/src/projectzombie/init/Models.java @@ -28,7 +28,8 @@ public class Models public static final Model TILE_TREE = new ModelTree(); public static final Model TILE_TREE_SNOW = new ModelTreeSnow(); - public static final Model TILE_CAMPFIRE = new ModelCross(Resources.ATLAS.get("/tile/campfire.png")); + public static final Model TILE_CAMPFIRE_LIT = new ModelCross(Resources.ATLAS.get("/tile/campfire_lit.png"), 4, 20); + public static final Model TILE_CAMPFIRE_UNLIT = new ModelCross(Resources.ATLAS.get("/tile/campfire_unlit.png")); public static final Model TILE_BLAST_FURNACE = new ModelBox(Resources.ATLAS.get("/tile/blast_furnace.png")); public static final Model TILE_WORKBENCH = new ModelBox(Resources.ATLAS.get("/tile/workbench.png")); public static final Model TILE_CLAY_POT_EMPTY = new ModelBox(Resources.ATLAS.get("/tile/clay_pot_empty.png")); @@ -80,10 +81,12 @@ public class Models public static final Model TILE_LAVA = new ModelTile(Resources.ATLAS.get("/tile/lava.png"), 16, 50); public static final Model TILE_LAVA_FLOW = new ModelTile(Resources.ATLAS.get("/tile/lava_flow.png"), 16, 50); public static final Model TILE_LANTERN = new ModelVertical(Resources.ATLAS.get("/tile/lantern.png"), 4, 5); - public static final Model TILE_ORE_IRON = new ModelTile(Resources.ATLAS.get("/tile/ore_iron.png")); - public static final Model TILE_ORE_GOLD = new ModelTile(Resources.ATLAS.get("/tile/ore_gold.png")); - public static final Model TILE_ORE_TIN = new ModelTile(Resources.ATLAS.get("/tile/ore_tin.png")); - public static final Model TILE_ORE_COPPER = new ModelTile(Resources.ATLAS.get("/tile/ore_copper.png")); + public static final Model TILE_ROCK_IRON = new ModelRock(Resources.ATLAS.get("/tile/rock_iron.png")); + public static final Model TILE_ROCK_GOLD = new ModelRock(Resources.ATLAS.get("/tile/rock_gold.png")); + public static final Model TILE_ROCK_TIN = new ModelRock(Resources.ATLAS.get("/tile/rock_tin.png")); + public static final Model TILE_ROCK_COPPER = new ModelRock(Resources.ATLAS.get("/tile/rock_copper.png")); + public static final Model TILE_ROCK_COAL = new ModelRock(Resources.ATLAS.get("/tile/rock_coal.png")); + public static final Model TILE_ROCK_URANIUM = new ModelRock(Resources.ATLAS.get("/tile/rock_uranium.png")); public static final Model ENTITY_BOSS_IDLE = new ModelVertical(Resources.ATLAS.get("/entity/boss1/boss_still.png"), new Vec2d(4, 4)); public static final Model ENTITY_BOSS_FIRING = new ModelVertical(Resources.ATLAS.get("/entity/boss1/boss_firing.png"), new Vec2d(4, 4), 4, 50); @@ -145,7 +148,7 @@ public class Models public static final ModelItem ITEM_EMPTY = ModelItem.createEmpty(); public static final ModelItem ITEM_MISSING = new ModelItem(Resources.TEX_EMPTY); - public static final ModelItem ITEM_CAMPFIRE = new ModelItem(Resources.ATLAS.get("/tile/campfire.png")); + public static final ModelItem ITEM_CAMPFIRE = new ModelItem(Resources.ATLAS.get("/tile/campfire_unlit.png")); public static final ModelItem ITEM_BLAST_FURNACE = new ModelItem(Resources.ATLAS.get("/item/blast_furnace.png")); public static final ModelItem ITEM_WORKBENCH = new ModelItem(Resources.ATLAS.get("/item/workbench.png")); public static final ModelItem ITEM_GRAPPLING_HOOK = new ModelItem(Resources.ATLAS.get("/item/grappling_hook.png")); diff --git a/src/projectzombie/init/Recipes.java b/src/projectzombie/init/Recipes.java index f829829..5adf0ca 100644 --- a/src/projectzombie/init/Recipes.java +++ b/src/projectzombie/init/Recipes.java @@ -7,7 +7,7 @@ import projectzombie.inventory.recipe.Recipe; import projectzombie.inventory.recipe.RecipeBasic; import projectzombie.items.modifier.ItemModifierDamage; import projectzombie.items.modifier.ItemModifierMeta; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class Recipes { @@ -66,6 +66,15 @@ public class Recipes Crafting.BASIC, }, new ItemStack(Items.WORKBENCH, 1))); + recipies.add(new RecipeBasic( + new ItemStack[] { + new ItemStack(Items.LOG, 1), + new ItemStack(Items.COAL, 1), + new ItemStack(Items.PLANT_FIBRE, 2), + }, new Crafting[] { + Crafting.BASIC, + }, new ItemStack(Items.TORCH, 1))); + // Workbench items diff --git a/src/projectzombie/init/Tiles.java b/src/projectzombie/init/Tiles.java index 4e3f65f..542de11 100755 --- a/src/projectzombie/init/Tiles.java +++ b/src/projectzombie/init/Tiles.java @@ -9,6 +9,7 @@ import projectzombie.tiles.TileCactus; import projectzombie.tiles.TileCampfire; import projectzombie.tiles.TileChest; import projectzombie.tiles.TileClayPot; +import projectzombie.tiles.TileCoal; import projectzombie.tiles.TileDirt; import projectzombie.tiles.TileGrass; import projectzombie.tiles.TileGrassBurnt; @@ -86,6 +87,7 @@ public class Tiles register(BLAST_FURNACE); register(CLAY_POT); register(ORE); + register(COAL); } public static final Tile GRASS = new TileGrass(); @@ -121,4 +123,5 @@ public class Tiles public static final Tile BLAST_FURNACE = new TileBlastFurnace(); public static final Tile CLAY_POT = new TileClayPot(); public static final Tile ORE = new TileOre(); + public static final Tile COAL = new TileCoal(); } diff --git a/src/projectzombie/input/types/InputGame.java b/src/projectzombie/input/types/InputGame.java index 442b779..e7670db 100755 --- a/src/projectzombie/input/types/InputGame.java +++ b/src/projectzombie/input/types/InputGame.java @@ -10,7 +10,7 @@ import projectzombie.menu.MenuInventory; import projectzombie.menu.MenuInventoryBasic; import projectzombie.menu.MenuInventoryStorage; import projectzombie.menu.gui.GUIItemSlotGetter; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.chunk.ChunkEventHandler; public class InputGame implements Input diff --git a/src/projectzombie/inventory/IInventory.java b/src/projectzombie/inventory/IInventory.java index 5559a43..5d21098 100755 --- a/src/projectzombie/inventory/IInventory.java +++ b/src/projectzombie/inventory/IInventory.java @@ -1,6 +1,6 @@ package projectzombie.inventory; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public interface IInventory { diff --git a/src/projectzombie/inventory/IInventoryArmor.java b/src/projectzombie/inventory/IInventoryArmor.java index cf5e23e..1ff6341 100644 --- a/src/projectzombie/inventory/IInventoryArmor.java +++ b/src/projectzombie/inventory/IInventoryArmor.java @@ -1,6 +1,6 @@ package projectzombie.inventory; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public interface IInventoryArmor { diff --git a/src/projectzombie/inventory/IInventoryClothing.java b/src/projectzombie/inventory/IInventoryClothing.java index bf77782..fec947b 100644 --- a/src/projectzombie/inventory/IInventoryClothing.java +++ b/src/projectzombie/inventory/IInventoryClothing.java @@ -1,6 +1,6 @@ package projectzombie.inventory; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public interface IInventoryClothing { diff --git a/src/projectzombie/inventory/Inventory.java b/src/projectzombie/inventory/Inventory.java index 3b33b6f..4cbafbd 100755 --- a/src/projectzombie/inventory/Inventory.java +++ b/src/projectzombie/inventory/Inventory.java @@ -1,6 +1,7 @@ package projectzombie.inventory; import projectzombie.util.ClassBdf; +import projectzombie.util.ItemStack; import bdf.types.BdfArray; import bdf.types.BdfNamedList; import bdf.types.BdfObject; @@ -9,7 +10,6 @@ import gl_engine.vec.Vec3d; import projectzombie.entity.EntityItem; import projectzombie.items.Item; import projectzombie.items.modifier.ItemModifier; -import projectzombie.util.math.ItemStack; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/inventory/InventoryArmor.java b/src/projectzombie/inventory/InventoryArmor.java index ec41194..545e9a6 100644 --- a/src/projectzombie/inventory/InventoryArmor.java +++ b/src/projectzombie/inventory/InventoryArmor.java @@ -1,9 +1,9 @@ package projectzombie.inventory; import projectzombie.util.ClassBdf; +import projectzombie.util.ItemStack; import bdf.types.BdfNamedList; import bdf.types.BdfObject; -import projectzombie.util.math.ItemStack; public class InventoryArmor implements ClassBdf, IInventoryArmor { diff --git a/src/projectzombie/inventory/InventoryClothing.java b/src/projectzombie/inventory/InventoryClothing.java index ffeaff5..58ed621 100644 --- a/src/projectzombie/inventory/InventoryClothing.java +++ b/src/projectzombie/inventory/InventoryClothing.java @@ -1,9 +1,9 @@ package projectzombie.inventory; import projectzombie.util.ClassBdf; +import projectzombie.util.ItemStack; import bdf.types.BdfNamedList; import bdf.types.BdfObject; -import projectzombie.util.math.ItemStack; public class InventoryClothing implements ClassBdf, IInventoryClothing { diff --git a/src/projectzombie/inventory/recipe/Recipe.java b/src/projectzombie/inventory/recipe/Recipe.java index e1d2e10..5426462 100644 --- a/src/projectzombie/inventory/recipe/Recipe.java +++ b/src/projectzombie/inventory/recipe/Recipe.java @@ -1,8 +1,8 @@ package projectzombie.inventory.recipe; import projectzombie.inventory.Inventory; +import projectzombie.util.ItemStack; import projectzombie.inventory.Crafting; -import projectzombie.util.math.ItemStack; public interface Recipe { diff --git a/src/projectzombie/inventory/recipe/RecipeBasic.java b/src/projectzombie/inventory/recipe/RecipeBasic.java index 2f3d0de..720e6bf 100644 --- a/src/projectzombie/inventory/recipe/RecipeBasic.java +++ b/src/projectzombie/inventory/recipe/RecipeBasic.java @@ -2,7 +2,7 @@ package projectzombie.inventory.recipe; import projectzombie.inventory.Crafting; import projectzombie.inventory.Inventory; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class RecipeBasic implements Recipe { diff --git a/src/projectzombie/items/Item.java b/src/projectzombie/items/Item.java index d056687..3abad39 100755 --- a/src/projectzombie/items/Item.java +++ b/src/projectzombie/items/Item.java @@ -11,7 +11,7 @@ import projectzombie.inventory.IInventory; import projectzombie.items.modifier.ItemModifierDamage; import projectzombie.model.Model; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/items/ItemAbstractTool.java b/src/projectzombie/items/ItemAbstractTool.java index 14c33d6..3e40710 100644 --- a/src/projectzombie/items/ItemAbstractTool.java +++ b/src/projectzombie/items/ItemAbstractTool.java @@ -1,7 +1,7 @@ package projectzombie.items; import projectzombie.items.modifier.ItemModifierDamage; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public abstract class ItemAbstractTool extends Item implements ItemTool { diff --git a/src/projectzombie/items/ItemAcorn.java b/src/projectzombie/items/ItemAcorn.java index 02024a1..4c2d534 100644 --- a/src/projectzombie/items/ItemAcorn.java +++ b/src/projectzombie/items/ItemAcorn.java @@ -10,7 +10,7 @@ import projectzombie.init.Tiles; import projectzombie.model.Model; import projectzombie.model.ModelItem; import projectzombie.tiles.Tile; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/items/ItemAmmo.java b/src/projectzombie/items/ItemAmmo.java index 8639193..358e197 100755 --- a/src/projectzombie/items/ItemAmmo.java +++ b/src/projectzombie/items/ItemAmmo.java @@ -2,7 +2,7 @@ package projectzombie.items; import projectzombie.init.Models; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class ItemAmmo extends Item { diff --git a/src/projectzombie/items/ItemArmor.java b/src/projectzombie/items/ItemArmor.java index bcb6526..6b5d450 100644 --- a/src/projectzombie/items/ItemArmor.java +++ b/src/projectzombie/items/ItemArmor.java @@ -1,6 +1,6 @@ package projectzombie.items; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public interface ItemArmor { diff --git a/src/projectzombie/items/ItemAsh.java b/src/projectzombie/items/ItemAsh.java index 385a2eb..c472fcb 100644 --- a/src/projectzombie/items/ItemAsh.java +++ b/src/projectzombie/items/ItemAsh.java @@ -3,7 +3,7 @@ package projectzombie.items; import projectzombie.init.Models; import projectzombie.model.Model; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class ItemAsh extends Item { diff --git a/src/projectzombie/items/ItemBlastFurnace.java b/src/projectzombie/items/ItemBlastFurnace.java index 6a0ba66..afac587 100644 --- a/src/projectzombie/items/ItemBlastFurnace.java +++ b/src/projectzombie/items/ItemBlastFurnace.java @@ -7,7 +7,7 @@ import projectzombie.init.Models; import projectzombie.init.Tiles; import projectzombie.model.Model; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/items/ItemBurnable.java b/src/projectzombie/items/ItemBurnable.java index a5a3f55..27fd9cc 100644 --- a/src/projectzombie/items/ItemBurnable.java +++ b/src/projectzombie/items/ItemBurnable.java @@ -1,6 +1,6 @@ package projectzombie.items; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public interface ItemBurnable { diff --git a/src/projectzombie/items/ItemCampfire.java b/src/projectzombie/items/ItemCampfire.java index a8bc72a..a714e79 100644 --- a/src/projectzombie/items/ItemCampfire.java +++ b/src/projectzombie/items/ItemCampfire.java @@ -7,7 +7,7 @@ import projectzombie.init.Models; import projectzombie.init.Tiles; import projectzombie.model.Model; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; @@ -21,7 +21,7 @@ public class ItemCampfire extends Item @Override public Model getPlaceModel(ItemStack stack) { - return Models.TILE_CAMPFIRE; + return Models.TILE_CAMPFIRE_UNLIT; } @Override diff --git a/src/projectzombie/items/ItemCharcoal.java b/src/projectzombie/items/ItemCharcoal.java index a12a5cc..1401367 100644 --- a/src/projectzombie/items/ItemCharcoal.java +++ b/src/projectzombie/items/ItemCharcoal.java @@ -3,7 +3,7 @@ package projectzombie.items; import projectzombie.init.Models; import projectzombie.model.Model; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class ItemCharcoal extends Item { diff --git a/src/projectzombie/items/ItemClayPot.java b/src/projectzombie/items/ItemClayPot.java index 0ab9cd9..1bacb3a 100644 --- a/src/projectzombie/items/ItemClayPot.java +++ b/src/projectzombie/items/ItemClayPot.java @@ -12,8 +12,8 @@ import projectzombie.items.modifier.ItemModifierMeta; import projectzombie.items.modifier.ItemModifierWater; import projectzombie.model.Model; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; -import projectzombie.util.math.TileState; +import projectzombie.util.ItemStack; +import projectzombie.util.TileState; import projectzombie.world.layer.Layer; public class ItemClayPot extends Item diff --git a/src/projectzombie/items/ItemClayPotWet.java b/src/projectzombie/items/ItemClayPotWet.java index c8c6607..c9cdec5 100644 --- a/src/projectzombie/items/ItemClayPotWet.java +++ b/src/projectzombie/items/ItemClayPotWet.java @@ -3,7 +3,7 @@ package projectzombie.items; import projectzombie.init.Items; import projectzombie.init.Models; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class ItemClayPotWet extends Item implements ItemCookable { diff --git a/src/projectzombie/items/ItemClothing.java b/src/projectzombie/items/ItemClothing.java index e95d4b6..989f90d 100644 --- a/src/projectzombie/items/ItemClothing.java +++ b/src/projectzombie/items/ItemClothing.java @@ -1,6 +1,6 @@ package projectzombie.items; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public interface ItemClothing { diff --git a/src/projectzombie/items/ItemCoal.java b/src/projectzombie/items/ItemCoal.java new file mode 100644 index 0000000..47d2f8d --- /dev/null +++ b/src/projectzombie/items/ItemCoal.java @@ -0,0 +1,31 @@ +package projectzombie.items; + +import projectzombie.init.Items; +import projectzombie.init.Models; +import projectzombie.model.ModelItem; +import projectzombie.util.ItemStack; + +public class ItemCoal extends Item implements ItemBurnable +{ + + @Override + public ModelItem getModel(ItemStack stack) { + return Models.ITEM_COAL; + } + + @Override + public String getName(ItemStack stack) { + return "Coal"; + } + + @Override + public int getBurnTime(ItemStack stack) { + return 4800; + } + + @Override + public ItemStack[] getBurnProducts(ItemStack stack) { + return new ItemStack[] {new ItemStack(Items.ASH, 1)}; + } + +} diff --git a/src/projectzombie/items/ItemCookable.java b/src/projectzombie/items/ItemCookable.java index 9cbc8fc..0a80010 100644 --- a/src/projectzombie/items/ItemCookable.java +++ b/src/projectzombie/items/ItemCookable.java @@ -1,6 +1,6 @@ package projectzombie.items; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public interface ItemCookable { diff --git a/src/projectzombie/items/ItemEmpty.java b/src/projectzombie/items/ItemEmpty.java index 51e66f8..cce82f4 100755 --- a/src/projectzombie/items/ItemEmpty.java +++ b/src/projectzombie/items/ItemEmpty.java @@ -3,7 +3,7 @@ package projectzombie.items; import projectzombie.entity.Entity; import projectzombie.init.Models; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/items/ItemFlare.java b/src/projectzombie/items/ItemFlare.java index 44c66be..f2553c9 100755 --- a/src/projectzombie/items/ItemFlare.java +++ b/src/projectzombie/items/ItemFlare.java @@ -7,7 +7,7 @@ import projectzombie.entity.EntityFlare; import projectzombie.entity.player.EntityPlayer; import projectzombie.init.Models; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/items/ItemFlint.java b/src/projectzombie/items/ItemFlint.java index 7c8221b..78e90f8 100644 --- a/src/projectzombie/items/ItemFlint.java +++ b/src/projectzombie/items/ItemFlint.java @@ -2,7 +2,7 @@ package projectzombie.items; import projectzombie.init.Models; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class ItemFlint extends Item { diff --git a/src/projectzombie/items/ItemFlintHatchet.java b/src/projectzombie/items/ItemFlintHatchet.java index 1f9af75..d0a8ad9 100644 --- a/src/projectzombie/items/ItemFlintHatchet.java +++ b/src/projectzombie/items/ItemFlintHatchet.java @@ -5,7 +5,7 @@ import projectzombie.items.modifier.ItemModifier; import projectzombie.items.modifier.ItemModifierDamage; import projectzombie.items.modifier.ItemModifierMeta; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class ItemFlintHatchet extends ItemAbstractTool { diff --git a/src/projectzombie/items/ItemGrapplingHook.java b/src/projectzombie/items/ItemGrapplingHook.java index 281f091..a7e2dc3 100755 --- a/src/projectzombie/items/ItemGrapplingHook.java +++ b/src/projectzombie/items/ItemGrapplingHook.java @@ -9,7 +9,7 @@ import projectzombie.init.Models; import projectzombie.items.modifier.ItemModifier; import projectzombie.items.modifier.ItemModifierMeta; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/items/ItemHealthPotion.java b/src/projectzombie/items/ItemHealthPotion.java index bc0f6af..ea65a1f 100755 --- a/src/projectzombie/items/ItemHealthPotion.java +++ b/src/projectzombie/items/ItemHealthPotion.java @@ -7,7 +7,7 @@ import projectzombie.entity.player.EntityPlayer; import projectzombie.init.Models; import projectzombie.items.modifier.ItemModifierMeta; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/items/ItemHempSeed.java b/src/projectzombie/items/ItemHempSeed.java index bc6d11e..8e28344 100644 --- a/src/projectzombie/items/ItemHempSeed.java +++ b/src/projectzombie/items/ItemHempSeed.java @@ -8,7 +8,7 @@ import projectzombie.init.Models; import projectzombie.init.Tiles; import projectzombie.model.Model; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/items/ItemInfestation.java b/src/projectzombie/items/ItemInfestation.java index 5ca2c25..dcd07af 100644 --- a/src/projectzombie/items/ItemInfestation.java +++ b/src/projectzombie/items/ItemInfestation.java @@ -7,7 +7,7 @@ import projectzombie.entity.player.EntityPlayer; import projectzombie.init.Models; import projectzombie.init.Tiles; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/items/ItemLantern.java b/src/projectzombie/items/ItemLantern.java index 094f8c8..08cf543 100755 --- a/src/projectzombie/items/ItemLantern.java +++ b/src/projectzombie/items/ItemLantern.java @@ -9,7 +9,7 @@ import projectzombie.init.Models; import projectzombie.init.Tiles; import projectzombie.model.Model; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/items/ItemLog.java b/src/projectzombie/items/ItemLog.java index e60dd91..548628b 100644 --- a/src/projectzombie/items/ItemLog.java +++ b/src/projectzombie/items/ItemLog.java @@ -4,7 +4,7 @@ import projectzombie.init.Items; import projectzombie.init.Models; import projectzombie.items.modifier.ItemModifierMeta; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class ItemLog extends Item implements ItemBurnable { diff --git a/src/projectzombie/items/ItemMetal.java b/src/projectzombie/items/ItemMetal.java index 43bd3a6..0cf1910 100644 --- a/src/projectzombie/items/ItemMetal.java +++ b/src/projectzombie/items/ItemMetal.java @@ -4,7 +4,7 @@ import projectzombie.init.Items; import projectzombie.init.Models; import projectzombie.items.modifier.ItemModifierMeta; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class ItemMetal extends Item { diff --git a/src/projectzombie/items/ItemOre.java b/src/projectzombie/items/ItemOre.java index 74d388c..eadf476 100644 --- a/src/projectzombie/items/ItemOre.java +++ b/src/projectzombie/items/ItemOre.java @@ -4,7 +4,7 @@ import projectzombie.init.Items; import projectzombie.init.Models; import projectzombie.items.modifier.ItemModifierMeta; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class ItemOre extends Item implements ItemSmeltable { diff --git a/src/projectzombie/items/ItemPlantFibre.java b/src/projectzombie/items/ItemPlantFibre.java index fce33b6..1f49e61 100644 --- a/src/projectzombie/items/ItemPlantFibre.java +++ b/src/projectzombie/items/ItemPlantFibre.java @@ -2,7 +2,7 @@ package projectzombie.items; import projectzombie.init.Models; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class ItemPlantFibre extends Item { diff --git a/src/projectzombie/items/ItemRock.java b/src/projectzombie/items/ItemRock.java index 2e96c58..8c27da1 100755 --- a/src/projectzombie/items/ItemRock.java +++ b/src/projectzombie/items/ItemRock.java @@ -3,7 +3,7 @@ package projectzombie.items; import projectzombie.init.Models; import projectzombie.items.modifier.ItemModifierMeta; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class ItemRock extends Item { diff --git a/src/projectzombie/items/ItemSmeltable.java b/src/projectzombie/items/ItemSmeltable.java index 5540a76..1a060de 100644 --- a/src/projectzombie/items/ItemSmeltable.java +++ b/src/projectzombie/items/ItemSmeltable.java @@ -1,6 +1,6 @@ package projectzombie.items; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public interface ItemSmeltable { diff --git a/src/projectzombie/items/ItemSpawn.java b/src/projectzombie/items/ItemSpawn.java index c5aac9e..b981165 100755 --- a/src/projectzombie/items/ItemSpawn.java +++ b/src/projectzombie/items/ItemSpawn.java @@ -4,7 +4,7 @@ import gl_engine.vec.Vec2d; import gl_engine.vec.Vec2i; import gl_engine.vec.Vec3d; import projectzombie.entity.player.EntityPlayer; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/items/ItemStoneHatchet.java b/src/projectzombie/items/ItemStoneHatchet.java index 6315245..2ded1e0 100644 --- a/src/projectzombie/items/ItemStoneHatchet.java +++ b/src/projectzombie/items/ItemStoneHatchet.java @@ -2,7 +2,7 @@ package projectzombie.items; import projectzombie.init.Models; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class ItemStoneHatchet extends ItemAbstractTool { diff --git a/src/projectzombie/items/ItemStonePick.java b/src/projectzombie/items/ItemStonePick.java index 81c7bb1..19b72f7 100644 --- a/src/projectzombie/items/ItemStonePick.java +++ b/src/projectzombie/items/ItemStonePick.java @@ -2,7 +2,7 @@ package projectzombie.items; import projectzombie.init.Models; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class ItemStonePick extends ItemAbstractTool { diff --git a/src/projectzombie/items/ItemStoneShovel.java b/src/projectzombie/items/ItemStoneShovel.java index 7c02ecc..a2bc284 100644 --- a/src/projectzombie/items/ItemStoneShovel.java +++ b/src/projectzombie/items/ItemStoneShovel.java @@ -2,7 +2,7 @@ package projectzombie.items; import projectzombie.init.Models; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class ItemStoneShovel extends ItemAbstractTool { diff --git a/src/projectzombie/items/ItemTnt.java b/src/projectzombie/items/ItemTnt.java index e3bc7ba..01b7d2f 100755 --- a/src/projectzombie/items/ItemTnt.java +++ b/src/projectzombie/items/ItemTnt.java @@ -8,7 +8,7 @@ import projectzombie.entity.player.EntityPlayer; import projectzombie.init.Models; import projectzombie.items.modifier.ItemModifierMeta; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/items/ItemTool.java b/src/projectzombie/items/ItemTool.java index 8f2cadc..5c85094 100644 --- a/src/projectzombie/items/ItemTool.java +++ b/src/projectzombie/items/ItemTool.java @@ -1,6 +1,6 @@ package projectzombie.items; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public interface ItemTool { diff --git a/src/projectzombie/items/ItemTorch.java b/src/projectzombie/items/ItemTorch.java index 6cf7e14..c05d3eb 100644 --- a/src/projectzombie/items/ItemTorch.java +++ b/src/projectzombie/items/ItemTorch.java @@ -4,11 +4,13 @@ import gl_engine.vec.Vec2d; import projectzombie.entity.player.EntityPlayer; import projectzombie.init.Models; import projectzombie.items.modifier.ItemModifier; +import projectzombie.items.modifier.ItemModifierClickCooldown; import projectzombie.items.modifier.ItemModifierDamage; import projectzombie.items.modifier.ItemModifierMeta; import projectzombie.items.modifier.ItemModifierTimer; +import projectzombie.items.modifier.ItemModifierTimerPaused; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.layer.Layer; public class ItemTorch extends Item @@ -29,26 +31,72 @@ public class ItemTorch extends Item @Override public double getDamage(ItemStack stack) { - ItemModifierTimer timer = (ItemModifierTimer)stack.getModifier(ItemModifierTimer.class); - - if(timer == null) { - return 0; + if(ItemModifierMeta.getStackMeta(stack) == 0) + { + ItemModifierTimerPaused timer = (ItemModifierTimerPaused)stack.getModifier(ItemModifierTimerPaused.class); + + if(timer == null) { + return 0; + } + + return timer.getDamage(); } - return timer.getDamage(); + else + { + ItemModifierTimer timer = (ItemModifierTimer)stack.getModifier(ItemModifierTimer.class); + + if(timer == null) { + return 0; + } + + return timer.getDamage(); + } } @Override public boolean onPlayerRightClick(ItemStack stack, Layer layer, EntityPlayer player, Vec2d place_pos) { - if(ItemModifierMeta.getStackMeta(stack) == 1) { - return false; + ItemModifierClickCooldown cooldown = (ItemModifierClickCooldown) + stack.getModifier(ItemModifierClickCooldown.class); + + if(cooldown != null && !cooldown.canClick()) { + return true; } - stack.modifiers = new ItemModifier[] { - new ItemModifierMeta(1), - new ItemModifierTimer(12000), - }; + else if(cooldown == null) { + cooldown = new ItemModifierClickCooldown(500); + } + + cooldown.click(); + + if(ItemModifierMeta.getStackMeta(stack) == 0) + { + ItemModifierTimerPaused timer_p = (ItemModifierTimerPaused) + stack.getModifier(ItemModifierTimerPaused.class); + ItemModifierTimer timer; + + if(timer_p == null) { + timer = new ItemModifierTimer(12000); + } + + else { + timer = timer_p.resume(); + } + + stack.modifiers = new ItemModifier[] {new ItemModifierMeta(1), timer, cooldown}; + } + + else + { + ItemModifierTimer timer = (ItemModifierTimer)stack.getModifier(ItemModifierTimer.class); + + if(timer == null) { + timer = new ItemModifierTimer(12000); + } + + stack.modifiers = new ItemModifier[] {new ItemModifierMeta(0), timer.pause(), cooldown}; + } return true; } diff --git a/src/projectzombie/items/ItemWorkbench.java b/src/projectzombie/items/ItemWorkbench.java index 1b609bd..183437e 100644 --- a/src/projectzombie/items/ItemWorkbench.java +++ b/src/projectzombie/items/ItemWorkbench.java @@ -7,7 +7,7 @@ import projectzombie.init.Models; import projectzombie.init.Tiles; import projectzombie.model.Model; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.layer.Layer; public class ItemWorkbench extends Item diff --git a/src/projectzombie/items/modifier/ItemModifierClickCooldown.java b/src/projectzombie/items/modifier/ItemModifierClickCooldown.java new file mode 100644 index 0000000..acff007 --- /dev/null +++ b/src/projectzombie/items/modifier/ItemModifierClickCooldown.java @@ -0,0 +1,46 @@ +package projectzombie.items.modifier; + +import bdf.types.BdfObject; + +public class ItemModifierClickCooldown extends ItemModifier +{ + long last; + long wait; + + public ItemModifierClickCooldown() { + wait = 500; + } + + public ItemModifierClickCooldown(long wait) { + this.wait = wait; + } + + public void click() { + last = System.currentTimeMillis(); + } + + public boolean canClick() { + return (System.currentTimeMillis() - last > wait); + } + + @Override + public void BdfClassLoad(BdfObject bdf) { + } + + @Override + public void BdfClassSave(BdfObject bdf) { + } + + @Override + public boolean isEqual(ItemModifier other) { + return true; + } + + @Override + public ItemModifier copy() { + ItemModifierClickCooldown copy = new ItemModifierClickCooldown(wait); + copy.last = last; + return copy; + } + +} diff --git a/src/projectzombie/items/modifier/ItemModifierMeta.java b/src/projectzombie/items/modifier/ItemModifierMeta.java index bb02e83..5479396 100644 --- a/src/projectzombie/items/modifier/ItemModifierMeta.java +++ b/src/projectzombie/items/modifier/ItemModifierMeta.java @@ -2,7 +2,7 @@ package projectzombie.items.modifier; import bdf.types.BdfNamedList; import bdf.types.BdfObject; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class ItemModifierMeta extends ItemModifier { diff --git a/src/projectzombie/items/modifier/ItemModifierTimer.java b/src/projectzombie/items/modifier/ItemModifierTimer.java index 3a03f58..36068b2 100644 --- a/src/projectzombie/items/modifier/ItemModifierTimer.java +++ b/src/projectzombie/items/modifier/ItemModifierTimer.java @@ -7,11 +7,11 @@ import projectzombie.time.GameTimer; public class ItemModifierTimer extends ItemModifier { - private long end; - private long start; + long end; + long start; public long getLeft() { - return GameTimer.getTime() - end; + return end - GameTimer.getTime(); } public double getDamage() { @@ -56,5 +56,8 @@ public class ItemModifierTimer extends ItemModifier timer.end = this.end; return timer; } - + + public ItemModifierTimerPaused pause() { + return new ItemModifierTimerPaused(end - start, getLeft()); + } } diff --git a/src/projectzombie/items/modifier/ItemModifierTimerPaused.java b/src/projectzombie/items/modifier/ItemModifierTimerPaused.java new file mode 100644 index 0000000..c8bc4fd --- /dev/null +++ b/src/projectzombie/items/modifier/ItemModifierTimerPaused.java @@ -0,0 +1,65 @@ +package projectzombie.items.modifier; + +import bdf.types.BdfNamedList; +import bdf.types.BdfObject; +import projectzombie.time.GameTimer; + +public class ItemModifierTimerPaused extends ItemModifier +{ + long left; + long total; + + public ItemModifierTimerPaused(BdfObject bdf) { + BdfClassLoad(bdf); + } + + public ItemModifierTimerPaused(long total, long left) { + this.total = total; + this.left = left; + } + + @Override + public void BdfClassLoad(BdfObject bdf) { + BdfNamedList nl = bdf.getNamedList(); + left = nl.get("left").getLong(); + total = nl.get("total").getLong(); + } + + @Override + public void BdfClassSave(BdfObject bdf) { + BdfNamedList nl = bdf.getNamedList(); + nl.set("left", bdf.newObject().setLong(left)); + nl.set("total", bdf.newObject().setLong(total)); + } + + @Override + public boolean isEqual(ItemModifier other) { + return true; + } + + @Override + public ItemModifier copy() { + return new ItemModifierTimerPaused(total, left); + } + + public ItemModifierTimer resume() + { + long now = GameTimer.getTime(); + long end = now + left; + + ItemModifierTimer timer = new ItemModifierTimer(0); + timer.start = end - total; + timer.end = end; + + return timer; + } + + public long getLeft() { + return left; + } + + public double getDamage() { + return 1 - (double)left / (double)total; + } + +} diff --git a/src/projectzombie/items/spawner/ItemSpawnDummy.java b/src/projectzombie/items/spawner/ItemSpawnDummy.java index bec1df1..ae303e6 100644 --- a/src/projectzombie/items/spawner/ItemSpawnDummy.java +++ b/src/projectzombie/items/spawner/ItemSpawnDummy.java @@ -5,7 +5,7 @@ import projectzombie.entity.EntityDummy; import projectzombie.init.Models; import projectzombie.items.ItemSpawn; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/items/spawner/ItemSpawnZombie.java b/src/projectzombie/items/spawner/ItemSpawnZombie.java index 333204b..23a899b 100755 --- a/src/projectzombie/items/spawner/ItemSpawnZombie.java +++ b/src/projectzombie/items/spawner/ItemSpawnZombie.java @@ -5,7 +5,7 @@ import projectzombie.entity.EntityZombie; import projectzombie.init.Models; import projectzombie.items.ItemSpawn; import projectzombie.model.ModelItem; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/menu/MenuInventory.java b/src/projectzombie/menu/MenuInventory.java index 7e84c65..3923fc4 100644 --- a/src/projectzombie/menu/MenuInventory.java +++ b/src/projectzombie/menu/MenuInventory.java @@ -20,7 +20,7 @@ import projectzombie.menu.gui.GUIItemSlotGetter; import projectzombie.menu.gui.GUIItemSlotGetterStorage; import projectzombie.model.Model; import projectzombie.model.ModelGui; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public abstract class MenuInventory extends Menu { diff --git a/src/projectzombie/menu/MenuInventoryBasic.java b/src/projectzombie/menu/MenuInventoryBasic.java index f4c45ef..5af6ab3 100644 --- a/src/projectzombie/menu/MenuInventoryBasic.java +++ b/src/projectzombie/menu/MenuInventoryBasic.java @@ -13,7 +13,7 @@ import projectzombie.menu.gui.GUIContainerSlider; import projectzombie.menu.gui.GUIItemSlot; import projectzombie.menu.gui.GUIItemSlotGetter; import projectzombie.menu.gui.GUIRecipeCard; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class MenuInventoryBasic extends MenuInventory { diff --git a/src/projectzombie/menu/MenuInventoryStorage.java b/src/projectzombie/menu/MenuInventoryStorage.java index 8017b00..e8549cf 100644 --- a/src/projectzombie/menu/MenuInventoryStorage.java +++ b/src/projectzombie/menu/MenuInventoryStorage.java @@ -13,7 +13,7 @@ import projectzombie.menu.gui.GUIContainerSlider; import projectzombie.menu.gui.GUIItemSlot; import projectzombie.menu.gui.GUIItemSlotGetter; import projectzombie.menu.gui.GUIRecipeCard; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class MenuInventoryStorage extends MenuInventory { diff --git a/src/projectzombie/menu/gui/GUIItemHolder.java b/src/projectzombie/menu/gui/GUIItemHolder.java index f7bfd04..1ad67dc 100644 --- a/src/projectzombie/menu/gui/GUIItemHolder.java +++ b/src/projectzombie/menu/gui/GUIItemHolder.java @@ -11,7 +11,7 @@ import projectzombie.entity.EntityItem; import projectzombie.init.Models; import projectzombie.model.Model; import projectzombie.text.Text; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; import projectzombie.world.layer.Layer; public class GUIItemHolder implements GUIComponent diff --git a/src/projectzombie/menu/gui/GUIItemSlot.java b/src/projectzombie/menu/gui/GUIItemSlot.java index 6651a07..eb7b168 100644 --- a/src/projectzombie/menu/gui/GUIItemSlot.java +++ b/src/projectzombie/menu/gui/GUIItemSlot.java @@ -11,7 +11,7 @@ import projectzombie.init.Models; import projectzombie.model.Model; import projectzombie.model.ModelItem; import projectzombie.text.Text; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class GUIItemSlot implements GUIComponent { diff --git a/src/projectzombie/menu/gui/GUIItemSlotGetter.java b/src/projectzombie/menu/gui/GUIItemSlotGetter.java index be40de6..8c92d1b 100644 --- a/src/projectzombie/menu/gui/GUIItemSlotGetter.java +++ b/src/projectzombie/menu/gui/GUIItemSlotGetter.java @@ -1,6 +1,6 @@ package projectzombie.menu.gui; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public interface GUIItemSlotGetter { public boolean isAllowed(ItemStack stack); diff --git a/src/projectzombie/menu/gui/GUIItemSlotGetterStorage.java b/src/projectzombie/menu/gui/GUIItemSlotGetterStorage.java index ce54b89..7b49c4c 100644 --- a/src/projectzombie/menu/gui/GUIItemSlotGetterStorage.java +++ b/src/projectzombie/menu/gui/GUIItemSlotGetterStorage.java @@ -1,7 +1,7 @@ package projectzombie.menu.gui; import projectzombie.inventory.IInventory; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class GUIItemSlotGetterStorage implements GUIItemSlotGetter { diff --git a/src/projectzombie/menu/gui/GUIItemSlotReadonly.java b/src/projectzombie/menu/gui/GUIItemSlotReadonly.java index e177e8a..b238d7b 100644 --- a/src/projectzombie/menu/gui/GUIItemSlotReadonly.java +++ b/src/projectzombie/menu/gui/GUIItemSlotReadonly.java @@ -1,6 +1,6 @@ package projectzombie.menu.gui; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class GUIItemSlotReadonly extends GUIItemSlot { diff --git a/src/projectzombie/menu/gui/GUIRecipeCard.java b/src/projectzombie/menu/gui/GUIRecipeCard.java index 677d109..682fe41 100644 --- a/src/projectzombie/menu/gui/GUIRecipeCard.java +++ b/src/projectzombie/menu/gui/GUIRecipeCard.java @@ -7,7 +7,7 @@ import projectzombie.inventory.Crafting; import projectzombie.inventory.Inventory; import projectzombie.inventory.recipe.Recipe; import projectzombie.model.ModelGui; -import projectzombie.util.math.ItemStack; +import projectzombie.util.ItemStack; public class GUIRecipeCard implements GUIContainer { diff --git a/src/projectzombie/task/TaskLadderDown.java b/src/projectzombie/task/TaskLadderDown.java index aa891ac..764bb56 100644 --- a/src/projectzombie/task/TaskLadderDown.java +++ b/src/projectzombie/task/TaskLadderDown.java @@ -7,7 +7,7 @@ import gl_engine.vec.Vec3d; import projectzombie.Main; import projectzombie.entity.Entity; import projectzombie.entity.player.EntityPlayer; -import projectzombie.util.math.TileState; +import projectzombie.util.TileState; import projectzombie.world.chunk.ChunkEventHandler; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/tiles/Tile.java b/src/projectzombie/tiles/Tile.java index 430bddb..d8023c9 100755 --- a/src/projectzombie/tiles/Tile.java +++ b/src/projectzombie/tiles/Tile.java @@ -4,8 +4,8 @@ import gl_engine.vec.Vec2i; import projectzombie.entity.Entity; import projectzombie.items.ItemTool; import projectzombie.model.Model; -import projectzombie.util.math.ItemStack; -import projectzombie.util.math.TileState; +import projectzombie.util.ItemStack; +import projectzombie.util.TileState; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; @@ -29,7 +29,8 @@ public abstract class Tile return new TileState(this, 0); } - public void onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { + public boolean onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { + return false; } public ItemStack[] getTileDrops(TileState state) { diff --git a/src/projectzombie/tiles/TileBlastFurnace.java b/src/projectzombie/tiles/TileBlastFurnace.java index 0d042bc..788a76f 100644 --- a/src/projectzombie/tiles/TileBlastFurnace.java +++ b/src/projectzombie/tiles/TileBlastFurnace.java @@ -13,8 +13,8 @@ import projectzombie.inventory.Inventory; import projectzombie.items.ItemTool; import projectzombie.items.ItemToolType; import projectzombie.model.Model; -import projectzombie.util.math.ItemStack; -import projectzombie.util.math.TileState; +import projectzombie.util.ItemStack; +import projectzombie.util.TileState; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; @@ -39,7 +39,7 @@ public class TileBlastFurnace extends Tile } @Override - public void onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { + public boolean onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { super.onActivated(layer, tpos, entity, state); TileEntityBlastFurnace te = (TileEntityBlastFurnace)layer.getTileEntity(tpos); @@ -50,6 +50,8 @@ public class TileBlastFurnace extends Tile } te.onOpened(); + + return true; } @Override diff --git a/src/projectzombie/tiles/TileBossPortal.java b/src/projectzombie/tiles/TileBossPortal.java index 5971ae2..2eccba8 100755 --- a/src/projectzombie/tiles/TileBossPortal.java +++ b/src/projectzombie/tiles/TileBossPortal.java @@ -13,7 +13,7 @@ import projectzombie.entity.player.EntityPlayer; import projectzombie.init.LayerGenerators; import projectzombie.init.Models; import projectzombie.model.Model; -import projectzombie.util.math.TileState; +import projectzombie.util.TileState; import projectzombie.world.chunk.ChunkEventHandler; import projectzombie.world.layer.Layer; import projectzombie.world.layer.layergen.LayerGenBossArena; @@ -36,7 +36,7 @@ public class TileBossPortal extends Tile } @Override - public void onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { + public boolean onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { super.onActivated(layer, tpos, entity, state); if(entity instanceof EntityPlayer) @@ -91,6 +91,8 @@ public class TileBossPortal extends Tile } }); } + + return true; } @Override diff --git a/src/projectzombie/tiles/TileCactus.java b/src/projectzombie/tiles/TileCactus.java index 7fd775c..a2791d3 100644 --- a/src/projectzombie/tiles/TileCactus.java +++ b/src/projectzombie/tiles/TileCactus.java @@ -4,7 +4,7 @@ import java.util.Random; import projectzombie.init.Models; import projectzombie.model.Model; -import projectzombie.util.math.TileState; +import projectzombie.util.TileState; public class TileCactus extends Tile implements TileBulletBreakable { diff --git a/src/projectzombie/tiles/TileCampfire.java b/src/projectzombie/tiles/TileCampfire.java index 1c0852d..a26f382 100644 --- a/src/projectzombie/tiles/TileCampfire.java +++ b/src/projectzombie/tiles/TileCampfire.java @@ -4,6 +4,7 @@ import gl_engine.MathHelpers; import gl_engine.vec.Vec2i; import gl_engine.vec.Vec3d; import projectzombie.entity.Entity; +import projectzombie.entity.particle.ParticleSmoke; import projectzombie.entity.tileentity.TileEntityCampfire; import projectzombie.init.Models; import projectzombie.init.Tiles; @@ -11,8 +12,8 @@ import projectzombie.inventory.Inventory; import projectzombie.items.ItemTool; import projectzombie.items.ItemToolType; import projectzombie.model.Model; -import projectzombie.util.math.ItemStack; -import projectzombie.util.math.TileState; +import projectzombie.util.ItemStack; +import projectzombie.util.TileState; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; @@ -33,11 +34,21 @@ public class TileCampfire extends Tile @Override public Model getModel(byte meta) { - return Models.TILE_CAMPFIRE; + return meta == 0 ? Models.TILE_CAMPFIRE_UNLIT : Models.TILE_CAMPFIRE_LIT; } @Override - public void onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { + public void tickRandomly(Layer layer, Chunk chunk, TileState state, Vec2i pos) + { + super.tickRandomly(layer, chunk, state, pos); + + if(state.meta != 0) { + chunk.spawnEntity(new ParticleSmoke(new Vec3d(pos.x + 0.5, 0, pos.y + 0.5), new Vec3d(0, 0, 0))); + } + } + + @Override + public boolean onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { super.onActivated(layer, tpos, entity, state); TileEntityCampfire te = (TileEntityCampfire)layer.getTileEntity(tpos); @@ -48,6 +59,8 @@ public class TileCampfire extends Tile } te.onOpened(); + + return true; } @Override diff --git a/src/projectzombie/tiles/TileChest.java b/src/projectzombie/tiles/TileChest.java index 0c3e673..78294fe 100755 --- a/src/projectzombie/tiles/TileChest.java +++ b/src/projectzombie/tiles/TileChest.java @@ -11,8 +11,8 @@ import projectzombie.init.Items; import projectzombie.init.Models; import projectzombie.items.modifier.ItemModifierMeta; import projectzombie.model.Model; -import projectzombie.util.math.ItemStack; -import projectzombie.util.math.TileState; +import projectzombie.util.ItemStack; +import projectzombie.util.TileState; import projectzombie.util.math.random.RandomHelpers; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; @@ -34,7 +34,7 @@ public class TileChest extends Tile implements TileBulletBreakable } @Override - public void onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { + public boolean onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { super.onActivated(layer, tpos, entity, state); Chunk chunk = layer.getChunk(tpos); @@ -79,6 +79,8 @@ public class TileChest extends Tile implements TileBulletBreakable } layer.breakFrontTile(tpos); + + return true; } @Override diff --git a/src/projectzombie/tiles/TileClayPot.java b/src/projectzombie/tiles/TileClayPot.java index 314c628..cd82530 100644 --- a/src/projectzombie/tiles/TileClayPot.java +++ b/src/projectzombie/tiles/TileClayPot.java @@ -14,8 +14,8 @@ import projectzombie.items.ItemToolType; import projectzombie.items.modifier.ItemModifierFluidStorage; import projectzombie.items.modifier.ItemModifierWater; import projectzombie.model.Model; -import projectzombie.util.math.ItemStack; -import projectzombie.util.math.TileState; +import projectzombie.util.ItemStack; +import projectzombie.util.TileState; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; @@ -51,7 +51,7 @@ public class TileClayPot extends Tile } @Override - public void onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { + public boolean onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { super.onActivated(layer, tpos, entity, state); TileEntityClayPot te = (TileEntityClayPot)layer.getTileEntity(tpos); @@ -64,7 +64,7 @@ public class TileClayPot extends Tile double volume = te.getVolume(); if(volume <= 0) { - return; + return true; } if(entity instanceof EntityPlayer) @@ -86,6 +86,8 @@ public class TileClayPot extends Tile te.setVolume(volume); } } + + return true; } @Override diff --git a/src/projectzombie/tiles/TileCoal.java b/src/projectzombie/tiles/TileCoal.java new file mode 100644 index 0000000..d623597 --- /dev/null +++ b/src/projectzombie/tiles/TileCoal.java @@ -0,0 +1,34 @@ +package projectzombie.tiles; + +import projectzombie.init.Models; +import projectzombie.items.ItemTool; +import projectzombie.items.ItemToolType; +import projectzombie.model.Model; +import projectzombie.util.ItemStack; +import projectzombie.util.TileState; + +public class TileCoal extends Tile +{ + public TileCoal() + { + this.tileSolid = true; + this.tileHitbox = 0.4; + this.hardness = 500; + } + + @Override + public boolean canTileBreak(TileState state, ItemStack stack, ItemTool tool) { + return tool != null && tool.toolType(stack) == ItemToolType.PICK; + } + + @Override + public boolean canTileSpeedBreak(TileState state, ItemStack stack, ItemTool tool) { + return canTileBreak(state, stack, tool); + } + + @Override + public Model getModel(byte meta) { + return Models.TILE_ROCK_COAL; + } + +} diff --git a/src/projectzombie/tiles/TileGrass.java b/src/projectzombie/tiles/TileGrass.java index 2e12daf..ddcae5d 100755 --- a/src/projectzombie/tiles/TileGrass.java +++ b/src/projectzombie/tiles/TileGrass.java @@ -4,7 +4,7 @@ import gl_engine.vec.Vec2i; import projectzombie.init.Models; import projectzombie.init.Tiles; import projectzombie.model.Model; -import projectzombie.util.math.TileState; +import projectzombie.util.TileState; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/tiles/TileGrassInfested.java b/src/projectzombie/tiles/TileGrassInfested.java index 63af1cb..4cc51ad 100644 --- a/src/projectzombie/tiles/TileGrassInfested.java +++ b/src/projectzombie/tiles/TileGrassInfested.java @@ -4,7 +4,7 @@ import gl_engine.vec.Vec2i; import projectzombie.init.Models; import projectzombie.init.Tiles; import projectzombie.model.Model; -import projectzombie.util.math.TileState; +import projectzombie.util.TileState; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/tiles/TileHemp.java b/src/projectzombie/tiles/TileHemp.java index de17354..2a4673e 100644 --- a/src/projectzombie/tiles/TileHemp.java +++ b/src/projectzombie/tiles/TileHemp.java @@ -9,8 +9,8 @@ import projectzombie.init.Models; import projectzombie.init.Tiles; import projectzombie.items.ItemTool; import projectzombie.model.Model; -import projectzombie.util.math.ItemStack; -import projectzombie.util.math.TileState; +import projectzombie.util.ItemStack; +import projectzombie.util.TileState; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; @@ -42,7 +42,7 @@ public class TileHemp extends Tile } @Override - public void onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { + public boolean onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { super.onActivated(layer, tpos, entity, state); if(state.meta > 3) @@ -57,7 +57,11 @@ public class TileHemp extends Tile Items.PLANT_FIBRE, fibre))); layer.setFrontTile(new TileState(Tiles.HEMP, (byte)3), tpos); + + return true; } + + return false; } @Override diff --git a/src/projectzombie/tiles/TileIce.java b/src/projectzombie/tiles/TileIce.java index 1fd7124..d320285 100644 --- a/src/projectzombie/tiles/TileIce.java +++ b/src/projectzombie/tiles/TileIce.java @@ -2,7 +2,7 @@ package projectzombie.tiles; import projectzombie.init.Models; import projectzombie.model.Model; -import projectzombie.util.math.TileState; +import projectzombie.util.TileState; public class TileIce extends TileStone { diff --git a/src/projectzombie/tiles/TileLadder.java b/src/projectzombie/tiles/TileLadder.java index 2edc093..9eaf89a 100755 --- a/src/projectzombie/tiles/TileLadder.java +++ b/src/projectzombie/tiles/TileLadder.java @@ -3,7 +3,7 @@ package projectzombie.tiles; import gl_engine.vec.Vec2i; import projectzombie.init.Models; import projectzombie.model.Model; -import projectzombie.util.math.TileState; +import projectzombie.util.TileState; public class TileLadder extends Tile { diff --git a/src/projectzombie/tiles/TileLadderUp.java b/src/projectzombie/tiles/TileLadderUp.java index 44e7f24..8bbd426 100755 --- a/src/projectzombie/tiles/TileLadderUp.java +++ b/src/projectzombie/tiles/TileLadderUp.java @@ -7,7 +7,7 @@ import projectzombie.entity.player.EntityPlayer; import projectzombie.init.Models; import projectzombie.model.Model; import projectzombie.task.TaskLadderUp; -import projectzombie.util.math.TileState; +import projectzombie.util.TileState; import projectzombie.world.layer.Layer; public class TileLadderUp extends Tile @@ -20,7 +20,7 @@ public class TileLadderUp extends Tile } @Override - public void onActivated(Layer layer, Vec2i pos, Entity entity, TileState state) + public boolean onActivated(Layer layer, Vec2i pos, Entity entity, TileState state) { // Call super super.onActivated(layer, pos, entity, state); @@ -30,10 +30,12 @@ public class TileLadderUp extends Tile { // Cast to player EntityPlayer player = (EntityPlayer)entity; - if(player.in_animation) return; + if(player.in_animation) return true; player.addTask(new TaskLadderUp(player, state.meta)); } + + return true; } @Override diff --git a/src/projectzombie/tiles/TileLantern.java b/src/projectzombie/tiles/TileLantern.java index 224bd1f..0e662bd 100755 --- a/src/projectzombie/tiles/TileLantern.java +++ b/src/projectzombie/tiles/TileLantern.java @@ -8,8 +8,8 @@ import projectzombie.init.Items; import projectzombie.init.Models; import projectzombie.init.Tiles; import projectzombie.model.Model; -import projectzombie.util.math.ItemStack; -import projectzombie.util.math.TileState; +import projectzombie.util.ItemStack; +import projectzombie.util.TileState; import projectzombie.world.layer.Layer; public class TileLantern extends Tile @@ -26,12 +26,14 @@ public class TileLantern extends Tile } @Override - public void onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { + public boolean onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { super.onActivated(layer, tpos, entity, state); layer.setFrontTile(Tiles.VOID.getDefaultState(), tpos); layer.spawnEntity(new EntityItem(tpos.toDouble().xny(), new Vec3d(0, 0, 0), new ItemStack(Items.LANTERN, 1))); + + return true; } @Override diff --git a/src/projectzombie/tiles/TileLava.java b/src/projectzombie/tiles/TileLava.java index a9c7fe5..35e24af 100755 --- a/src/projectzombie/tiles/TileLava.java +++ b/src/projectzombie/tiles/TileLava.java @@ -9,7 +9,7 @@ import projectzombie.entity.EntityAlive; import projectzombie.entity.particle.ParticleLava; import projectzombie.init.Models; import projectzombie.model.Model; -import projectzombie.util.math.TileState; +import projectzombie.util.TileState; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/tiles/TileLavaFlow.java b/src/projectzombie/tiles/TileLavaFlow.java index d5ee883..fd31bf8 100755 --- a/src/projectzombie/tiles/TileLavaFlow.java +++ b/src/projectzombie/tiles/TileLavaFlow.java @@ -7,7 +7,7 @@ import gl_engine.vec.Vec3d; import projectzombie.entity.particle.ParticleSmoke; import projectzombie.init.Models; import projectzombie.model.Model; -import projectzombie.util.math.TileState; +import projectzombie.util.TileState; import projectzombie.util.math.random.RandomHelpers; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/tiles/TileOre.java b/src/projectzombie/tiles/TileOre.java index a4de408..e708b1b 100644 --- a/src/projectzombie/tiles/TileOre.java +++ b/src/projectzombie/tiles/TileOre.java @@ -1,19 +1,60 @@ package projectzombie.tiles; +import projectzombie.init.Items; import projectzombie.init.Models; +import projectzombie.items.ItemTool; +import projectzombie.items.ItemToolType; +import projectzombie.items.modifier.ItemModifierMeta; import projectzombie.model.Model; +import projectzombie.util.ItemStack; +import projectzombie.util.TileState; public class TileOre extends Tile { + public TileOre() + { + this.tileSolid = true; + this.tileHitbox = 0.4; + this.hardness = 500; + } + @Override + public boolean canTileBreak(TileState state, ItemStack stack, ItemTool tool) + { + if(tool == null || tool.toolType(stack) != ItemToolType.PICK) { + return false; + } + + switch(state.meta) + { + case 0: return tool.toolPower(stack) > 0; + case 1: return tool.toolPower(stack) > 1; + case 2: return tool.toolPower(stack) > 1; + case 3: return tool.toolPower(stack) > 1; + case 4: return tool.toolPower(stack) > 1; + default: return false; + } + } + + @Override + public boolean canTileSpeedBreak(TileState state, ItemStack stack, ItemTool tool) { + return canTileBreak(state, stack, tool); + } + + @Override + public ItemStack[] getTileDrops(TileState state) { + return new ItemStack[] {new ItemStack(Items.ORE, 1, new ItemModifierMeta(state.meta))}; + } + @Override public Model getModel(byte meta) { switch(meta) { - case 0: return Models.TILE_ORE_IRON; - case 1: return Models.TILE_ORE_COPPER; - case 2: return Models.TILE_ORE_TIN; - case 3: return Models.TILE_ORE_GOLD; + case 0: return Models.TILE_ROCK_IRON; + case 1: return Models.TILE_ROCK_COPPER; + case 2: return Models.TILE_ROCK_TIN; + case 3: return Models.TILE_ROCK_GOLD; + case 4: return Models.TILE_ROCK_URANIUM; default: return Models.TILE_MISSING; } } diff --git a/src/projectzombie/tiles/TilePortalDown.java b/src/projectzombie/tiles/TilePortalDown.java index 4cb6115..7e1c51c 100755 --- a/src/projectzombie/tiles/TilePortalDown.java +++ b/src/projectzombie/tiles/TilePortalDown.java @@ -7,7 +7,7 @@ import projectzombie.entity.player.EntityPlayer; import projectzombie.init.Models; import projectzombie.model.Model; import projectzombie.task.TaskLadderDown; -import projectzombie.util.math.TileState; +import projectzombie.util.TileState; import projectzombie.world.layer.Layer; public class TilePortalDown extends Tile @@ -19,7 +19,7 @@ public class TilePortalDown extends Tile } @Override - public void onActivated(Layer layer, Vec2i pos, Entity entity, TileState state) + public boolean onActivated(Layer layer, Vec2i pos, Entity entity, TileState state) { // Call super super.onActivated(layer, pos, entity, state); @@ -29,10 +29,12 @@ public class TilePortalDown extends Tile { // Cast to player EntityPlayer player = (EntityPlayer)entity; - if(player.in_animation) return; + if(player.in_animation) return true; player.addTask(new TaskLadderDown(player, state.meta)); } + + return true; } @Override diff --git a/src/projectzombie/tiles/TileRock.java b/src/projectzombie/tiles/TileRock.java index a282c63..d6ce662 100755 --- a/src/projectzombie/tiles/TileRock.java +++ b/src/projectzombie/tiles/TileRock.java @@ -5,14 +5,14 @@ import projectzombie.init.Models; import projectzombie.items.ItemTool; import projectzombie.items.modifier.ItemModifierMeta; import projectzombie.model.Model; -import projectzombie.util.math.ItemStack; -import projectzombie.util.math.TileState; +import projectzombie.util.ItemStack; +import projectzombie.util.TileState; public class TileRock extends Tile implements TileBulletBreakable { - public TileRock() { - + public TileRock() + { // Set some settings this.tileSolid = true; this.tileHitbox = 0.4; diff --git a/src/projectzombie/tiles/TileSapling.java b/src/projectzombie/tiles/TileSapling.java index ffd5c4d..cdda9ae 100644 --- a/src/projectzombie/tiles/TileSapling.java +++ b/src/projectzombie/tiles/TileSapling.java @@ -4,7 +4,7 @@ import gl_engine.vec.Vec2i; import projectzombie.init.Models; import projectzombie.init.Tiles; import projectzombie.model.Model; -import projectzombie.util.math.TileState; +import projectzombie.util.TileState; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; diff --git a/src/projectzombie/tiles/TileTallGrass.java b/src/projectzombie/tiles/TileTallGrass.java index 9e8b272..79c4f06 100644 --- a/src/projectzombie/tiles/TileTallGrass.java +++ b/src/projectzombie/tiles/TileTallGrass.java @@ -4,8 +4,8 @@ import projectzombie.init.Items; import projectzombie.init.Models; import projectzombie.items.ItemTool; import projectzombie.model.Model; -import projectzombie.util.math.ItemStack; -import projectzombie.util.math.TileState; +import projectzombie.util.ItemStack; +import projectzombie.util.TileState; public class TileTallGrass extends Tile { diff --git a/src/projectzombie/tiles/TileTree.java b/src/projectzombie/tiles/TileTree.java index 1718e39..ba844b4 100755 --- a/src/projectzombie/tiles/TileTree.java +++ b/src/projectzombie/tiles/TileTree.java @@ -6,8 +6,8 @@ import projectzombie.items.ItemTool; import projectzombie.items.ItemToolType; import projectzombie.items.modifier.ItemModifierMeta; import projectzombie.model.Model; -import projectzombie.util.math.ItemStack; -import projectzombie.util.math.TileState; +import projectzombie.util.ItemStack; +import projectzombie.util.TileState; public class TileTree extends Tile implements TileBulletBreakable { diff --git a/src/projectzombie/tiles/TileWall.java b/src/projectzombie/tiles/TileWall.java index 8c494eb..5ce13a6 100755 --- a/src/projectzombie/tiles/TileWall.java +++ b/src/projectzombie/tiles/TileWall.java @@ -2,7 +2,7 @@ package projectzombie.tiles; import projectzombie.init.Models; import projectzombie.model.Model; -import projectzombie.util.math.TileState; +import projectzombie.util.TileState; public class TileWall extends Tile { diff --git a/src/projectzombie/tiles/TileWater.java b/src/projectzombie/tiles/TileWater.java index fd1e20a..529f582 100755 --- a/src/projectzombie/tiles/TileWater.java +++ b/src/projectzombie/tiles/TileWater.java @@ -10,8 +10,8 @@ import projectzombie.items.ItemTool; import projectzombie.items.ItemToolType; import projectzombie.items.modifier.ItemModifierMeta; import projectzombie.model.Model; -import projectzombie.util.math.ItemStack; -import projectzombie.util.math.TileState; +import projectzombie.util.ItemStack; +import projectzombie.util.TileState; import projectzombie.world.chunk.Chunk; import projectzombie.world.layer.Layer; @@ -36,12 +36,14 @@ public class TileWater extends Tile } @Override - public void onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { + public boolean onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { super.onActivated(layer, tpos, entity, state); if(entity instanceof EntityPlayer) { ((EntityPlayer) entity).rehydrate(); } + + return true; } @Override diff --git a/src/projectzombie/tiles/TileWorkbench.java b/src/projectzombie/tiles/TileWorkbench.java index 30f5d26..d5b99a3 100644 --- a/src/projectzombie/tiles/TileWorkbench.java +++ b/src/projectzombie/tiles/TileWorkbench.java @@ -9,8 +9,8 @@ import projectzombie.items.ItemTool; import projectzombie.items.ItemToolType; import projectzombie.menu.MenuInventoryBasic; import projectzombie.model.Model; -import projectzombie.util.math.ItemStack; -import projectzombie.util.math.TileState; +import projectzombie.util.ItemStack; +import projectzombie.util.TileState; import projectzombie.world.layer.Layer; public class TileWorkbench extends Tile @@ -37,10 +37,12 @@ public class TileWorkbench extends Tile } @Override - public void onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { + public boolean onActivated(Layer layer, Vec2i tpos, Entity entity, TileState state) { super.onActivated(layer, tpos, entity, state); Main.menu = new MenuInventoryBasic(Main.menu, Crafting.WOODEN_WORKBENCH); + + return true; } } diff --git a/src/projectzombie/util/math/ColorRange.java b/src/projectzombie/util/ColorRange.java similarity index 92% rename from src/projectzombie/util/math/ColorRange.java rename to src/projectzombie/util/ColorRange.java index 34def8b..2d462ea 100755 --- a/src/projectzombie/util/math/ColorRange.java +++ b/src/projectzombie/util/ColorRange.java @@ -1,4 +1,4 @@ -package projectzombie.util.math; +package projectzombie.util; import gl_engine.MathHelpers; import gl_engine.vec.Vec3d; diff --git a/src/projectzombie/util/math/ItemStack.java b/src/projectzombie/util/ItemStack.java similarity index 85% rename from src/projectzombie/util/math/ItemStack.java rename to src/projectzombie/util/ItemStack.java index 6926c24..f286051 100755 --- a/src/projectzombie/util/math/ItemStack.java +++ b/src/projectzombie/util/ItemStack.java @@ -1,6 +1,7 @@ -package projectzombie.util.math; +package projectzombie.util; + +import java.util.ArrayList; -import projectzombie.util.ClassBdf; import bdf.types.BdfArray; import bdf.types.BdfNamedList; import bdf.types.BdfObject; @@ -120,11 +121,18 @@ public class ItemStack implements ClassBdf count = nl.get("count").getInteger(); item = Items.items.get(nl.get("item").getInteger()); - BdfArray modifiers = nl.get("modifiers").getArray(); + BdfArray modifiers_bdf = nl.get("modifiers").getArray(); + ArrayList modifiers = new ArrayList(); + + for(int i=0;i pool_size) + if(pool_particle_count >= pool_size) { changed = true; - while(pool_particle_count > pool_size) { + while(pool_particle_count >= pool_size) { pool_size *= 2; } } diff --git a/src/projectzombie/world/chunk/Chunk.java b/src/projectzombie/world/chunk/Chunk.java index 2ae7e82..9c7db1c 100755 --- a/src/projectzombie/world/chunk/Chunk.java +++ b/src/projectzombie/world/chunk/Chunk.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.Random; import projectzombie.util.ClassBdf; +import projectzombie.util.TileState; import bdf.types.BdfArray; import bdf.types.BdfNamedList; import bdf.types.BdfObject; @@ -30,7 +31,6 @@ import projectzombie.model.IModel; import projectzombie.model.Model; import projectzombie.model.ModelChunk; import projectzombie.tiles.Tile; -import projectzombie.util.math.TileState; import projectzombie.util.math.random.RandomHelpers; import projectzombie.world.layer.Layer; @@ -102,6 +102,13 @@ public class Chunk implements ClassBdf byte[] a_t = nl.get("temperature").getByteArray(); byte[] a_h = nl.get("humidity").getByteArray(); + if( + tb.length != CHUNK_INDEX || tf.length != CHUNK_INDEX || + mb.length != CHUNK_INDEX || mf.length != CHUNK_INDEX || + a_t.length != CHUNK_INDEX || a_h.length != CHUNK_INDEX) { + return; + } + for(int i=0;i 0.45; } - if(noise_n > noise_w || cavern) { + if(noise_n > noise_w || cavern) + { chunk.setBackTile(floor.getDefaultState(), pos); + + if((floor == Tiles.STONE || floor == Tiles.SANDSTONE) && rand.nextDouble() > 0.99) { + chunk.setFrontTile(ores[(int)(rand.nextDouble() * ores.length)], pos); + } } else { diff --git a/src/projectzombie/world/layer/layergen/LayerGenEarth.java b/src/projectzombie/world/layer/layergen/LayerGenEarth.java index 673e89a..8da7c40 100755 --- a/src/projectzombie/world/layer/layergen/LayerGenEarth.java +++ b/src/projectzombie/world/layer/layergen/LayerGenEarth.java @@ -11,8 +11,8 @@ import projectzombie.entity.Entity; import projectzombie.entity.EntityZombie; import projectzombie.init.Tiles; import projectzombie.time.GameTimer; -import projectzombie.util.math.ColorRange; -import projectzombie.util.math.TileState; +import projectzombie.util.ColorRange; +import projectzombie.util.TileState; import projectzombie.util.math.random.NoiseGenerator; import projectzombie.util.math.random.NoiseGeneratorSimplex; import projectzombie.util.math.random.RandomHelpers; @@ -70,7 +70,6 @@ public class LayerGenEarth extends LayerGen new NoiseGeneratorSimplex(lrand), // Wind new NoiseGeneratorSimplex(lrand), // Wind new NoiseGeneratorSimplex(lrand, 4), // Water - new NoiseGeneratorSimplex(lrand, 2), // Rocks }; } @@ -91,9 +90,9 @@ public class LayerGenEarth extends LayerGen Vec2d pos = new Vec2d(c_pos.x * 16 + x, c_pos.y * 16 + y); Vec2i tpos = pos.toInt(); - double rocks = layer.noise_gens[5].eval(pos.x / 16.0, pos.y / 16.0); double temperature = getTemperatureStatic(layer, pos); double humidity = getHumidity(layer, pos); + boolean rockIsOre = rand.nextDouble() > 0.95; chunk.setTemperature(tpos, temperature); chunk.setHumidity(tpos, humidity); @@ -122,12 +121,7 @@ public class LayerGenEarth extends LayerGen chunk.setBackTile(Tiles.SAND.getDefaultState(), tpos); rock_type = (byte)2; - if(rocks > 0.8) { - chunk.setBackTile(Tiles.SANDSTONE_WALL.getDefaultState(), tpos); - placed_stone = true; - } - - else if(rand.nextDouble() > MathHelpers.map(humidity, 0, 0.5, 0.98, 0.95)) { + if(rand.nextDouble() > MathHelpers.map(humidity, 0, 0.5, 0.98, 0.95)) { chunk.setFrontTile(Tiles.CACTUS.getDefaultState(), tpos); } } @@ -136,12 +130,7 @@ public class LayerGenEarth extends LayerGen { chunk.setBackTile(Tiles.GRASS.getDefaultState(), tpos); - if(rocks > 0.8) { - chunk.setBackTile(Tiles.WALL.getDefaultState(), tpos); - placed_stone = true; - } - - else if(rand.nextDouble() > MathHelpers.map(humidity, 0, 1, 0.99, 0.9)) { + if(rand.nextDouble() > MathHelpers.map(humidity, 0, 1, 0.99, 0.9)) { chunk.setFrontTile(Tiles.TREE.getDefaultState(), tpos); } @@ -160,8 +149,17 @@ public class LayerGenEarth extends LayerGen } } - if(!placed_stone && rand.nextDouble() > 0.98) { - chunk.setFrontTile(new TileState(Tiles.ROCK, rock_type), tpos); + if(!placed_stone && rand.nextDouble() > 0.98) + { + if((rock_type == 0 || rock_type == 2) && rockIsOre) + { + // Set coal ore + chunk.setFrontTile(Tiles.COAL.getDefaultState(), tpos); + } + + else { + chunk.setFrontTile(new TileState(Tiles.ROCK, rock_type), tpos); + } } } } diff --git a/src/projectzombie/world/layer/layergen/LayerGenLavaCaves.java b/src/projectzombie/world/layer/layergen/LayerGenLavaCaves.java index b1bec15..f6e9d32 100755 --- a/src/projectzombie/world/layer/layergen/LayerGenLavaCaves.java +++ b/src/projectzombie/world/layer/layergen/LayerGenLavaCaves.java @@ -10,8 +10,8 @@ import projectzombie.Main; import projectzombie.entity.Entity; import projectzombie.entity.EntityZombieArmored; import projectzombie.init.Tiles; -import projectzombie.util.math.ColorRange; -import projectzombie.util.math.TileState; +import projectzombie.util.ColorRange; +import projectzombie.util.TileState; import projectzombie.util.math.random.NoiseGenerator; import projectzombie.util.math.random.NoiseGeneratorSimplex; import projectzombie.util.math.random.RandomHelpers; diff --git a/src/resources/texture/item/coal.png b/src/resources/texture/item/coal.png new file mode 100644 index 0000000..7d02e1f Binary files /dev/null and b/src/resources/texture/item/coal.png differ diff --git a/src/resources/texture/item/rock_iron.png b/src/resources/texture/item/rock_iron.png new file mode 100644 index 0000000..2efb2f7 Binary files /dev/null and b/src/resources/texture/item/rock_iron.png differ diff --git a/src/resources/texture/item/stone_hatchet.png b/src/resources/texture/item/stone_hatchet.png new file mode 100644 index 0000000..63c362b Binary files /dev/null and b/src/resources/texture/item/stone_hatchet.png differ diff --git a/src/resources/texture/item/stone_pick.png b/src/resources/texture/item/stone_pick.png new file mode 100644 index 0000000..8b73136 Binary files /dev/null and b/src/resources/texture/item/stone_pick.png differ diff --git a/src/resources/texture/item/stone_shovel.png b/src/resources/texture/item/stone_shovel.png new file mode 100644 index 0000000..d8c4cf0 Binary files /dev/null and b/src/resources/texture/item/stone_shovel.png differ diff --git a/src/resources/texture/list.txt b/src/resources/texture/list.txt index 679911f..16da499 100644 --- a/src/resources/texture/list.txt +++ b/src/resources/texture/list.txt @@ -1,4 +1,5 @@ ./tile/hemp6.png +./tile/rock_gold.png ./tile/hemp7.png ./tile/hemp1.png ./tile/rock.png @@ -10,6 +11,7 @@ ./tile/water.png ./tile/sandstone_wall.png ./tile/ladder_up.png +./tile/rock_copper.png ./tile/cactus4.png ./tile/tall_grass.png ./tile/cactus2.png @@ -17,6 +19,7 @@ ./tile/tree_branch_leaves.png ./tile/dirt.png ./tile/wall.png +./tile/rock_tin.png ./tile/tree_base.png ./tile/cactus1.png ./tile/sapling4.png @@ -26,12 +29,15 @@ ./tile/stone.png ./tile/snow.png ./tile/boss_portal.png +./tile/rock_coal.png ./tile/hemp4.png ./tile/sand.png -./tile/campfire.png +./tile/rock_iron.png ./tile/lantern.png ./tile/ice.png +./tile/rock_uranium.png ./tile/sapling1.png +./tile/campfire_lit.png ./tile/grass_burnt.png ./tile/chest.png ./tile/hemp2.png @@ -40,6 +46,7 @@ ./tile/lava.png ./tile/tree_leaves.png ./tile/hemp5.png +./tile/campfire_unlit.png ./tile/lava_flow.png ./tile/grass.png ./tile/tree_branch.png @@ -50,11 +57,15 @@ ./list.txt ./item/log.png ./item/rock.png +./item/stone_shovel.png +./item/coal.png ./item/acorn.png ./item/clay.png +./item/stone_pick.png ./item/ammo_box.png ./item/plant_fibre.png ./item/torch_lit.png +./item/stone_hatchet.png ./item/flint_hatchet.png ./item/hemp_seed.png ./item/shield_upgrade.png diff --git a/src/resources/texture/tile/campfire.png b/src/resources/texture/tile/campfire.png deleted file mode 100644 index 3d82566..0000000 Binary files a/src/resources/texture/tile/campfire.png and /dev/null differ diff --git a/src/resources/texture/tile/campfire_lit.png b/src/resources/texture/tile/campfire_lit.png new file mode 100644 index 0000000..b9a755e Binary files /dev/null and b/src/resources/texture/tile/campfire_lit.png differ diff --git a/src/resources/texture/tile/campfire_unlit.png b/src/resources/texture/tile/campfire_unlit.png new file mode 100644 index 0000000..d71eff6 Binary files /dev/null and b/src/resources/texture/tile/campfire_unlit.png differ diff --git a/src/resources/texture/tile/rock_coal.png b/src/resources/texture/tile/rock_coal.png new file mode 100644 index 0000000..94e0cbc Binary files /dev/null and b/src/resources/texture/tile/rock_coal.png differ diff --git a/src/resources/texture/tile/rock_copper.png b/src/resources/texture/tile/rock_copper.png new file mode 100644 index 0000000..1b8dd98 Binary files /dev/null and b/src/resources/texture/tile/rock_copper.png differ diff --git a/src/resources/texture/tile/rock_gold.png b/src/resources/texture/tile/rock_gold.png new file mode 100644 index 0000000..a3d6326 Binary files /dev/null and b/src/resources/texture/tile/rock_gold.png differ diff --git a/src/resources/texture/tile/rock_iron.png b/src/resources/texture/tile/rock_iron.png new file mode 100644 index 0000000..bcd594a Binary files /dev/null and b/src/resources/texture/tile/rock_iron.png differ diff --git a/src/resources/texture/tile/rock_tin.png b/src/resources/texture/tile/rock_tin.png new file mode 100644 index 0000000..6105fd9 Binary files /dev/null and b/src/resources/texture/tile/rock_tin.png differ diff --git a/src/resources/texture/tile/rock_uranium.png b/src/resources/texture/tile/rock_uranium.png new file mode 100644 index 0000000..8a5a6a4 Binary files /dev/null and b/src/resources/texture/tile/rock_uranium.png differ