Sync workspace with server
This commit is contained in:
parent
ce06e1bb53
commit
1e1cc5fb5b
|
|
@ -1,3 +1,3 @@
|
|||
/bin/
|
||||
/run/
|
||||
hs_err_pid*
|
||||
*.bdf
|
||||
|
|
|
|||
BIN
run/saves.bdf.gz
BIN
run/saves.bdf.gz
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -157,6 +157,11 @@ public class EntityZombie extends Entity implements EntityAlive, EntityKillWithP
|
|||
}
|
||||
}
|
||||
|
||||
// Despawn
|
||||
if(player_distance > 128) {
|
||||
kill();
|
||||
}
|
||||
|
||||
// Increase time
|
||||
time += 0.001;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"));
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package projectzombie.inventory;
|
||||
|
||||
import projectzombie.util.math.ItemStack;
|
||||
import projectzombie.util.ItemStack;
|
||||
|
||||
public interface IInventory
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package projectzombie.inventory;
|
||||
|
||||
import projectzombie.util.math.ItemStack;
|
||||
import projectzombie.util.ItemStack;
|
||||
|
||||
public interface IInventoryArmor
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package projectzombie.inventory;
|
||||
|
||||
import projectzombie.util.math.ItemStack;
|
||||
import projectzombie.util.ItemStack;
|
||||
|
||||
public interface IInventoryClothing
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package projectzombie.items;
|
||||
|
||||
import projectzombie.util.math.ItemStack;
|
||||
import projectzombie.util.ItemStack;
|
||||
|
||||
public interface ItemArmor
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package projectzombie.items;
|
||||
|
||||
import projectzombie.util.math.ItemStack;
|
||||
import projectzombie.util.ItemStack;
|
||||
|
||||
public interface ItemBurnable
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package projectzombie.items;
|
||||
|
||||
import projectzombie.util.math.ItemStack;
|
||||
import projectzombie.util.ItemStack;
|
||||
|
||||
public interface ItemClothing
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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)};
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package projectzombie.items;
|
||||
|
||||
import projectzombie.util.math.ItemStack;
|
||||
import projectzombie.util.ItemStack;
|
||||
|
||||
public interface ItemCookable
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package projectzombie.items;
|
||||
|
||||
import projectzombie.util.math.ItemStack;
|
||||
import projectzombie.util.ItemStack;
|
||||
|
||||
public interface ItemSmeltable
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package projectzombie.items;
|
||||
|
||||
import projectzombie.util.math.ItemStack;
|
||||
import projectzombie.util.ItemStack;
|
||||
|
||||
public interface ItemTool
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package projectzombie.menu.gui;
|
||||
|
||||
import projectzombie.util.math.ItemStack;
|
||||
import projectzombie.util.ItemStack;
|
||||
|
||||
public class GUIItemSlotReadonly extends GUIItemSlot
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue