Added timers and specific item based checks for items

This commit is contained in:
jsrobson10 2020-08-25 19:31:17 +10:00
parent 70d7faaf98
commit 5de32258ca
6 changed files with 14 additions and 11 deletions

View File

@ -58,8 +58,8 @@ public class EntityItem extends EntityParticle
@Override @Override
public double getLightLevel() { public double getLightLevel() {
if(this.stack.isEmpty()) return 0; if(stack.isEmpty()) return 0;
return getLightWithHeight(this.stack.item.getLightLevel()); return getLightWithHeight(stack.item.getLightLevel(stack));
} }
@Override @Override

View File

@ -153,7 +153,7 @@ public class EntityPlayer extends Entity implements
ItemStack item = inventory.getItem(inventory_hand); ItemStack item = inventory.getItem(inventory_hand);
if(!item.isEmpty()) { if(!item.isEmpty()) {
return getLightWithHeight(item.item.getLightLevel()); return getLightWithHeight(item.item.getLightLevel(item));
} }
return 0; return 0;

View File

@ -28,7 +28,7 @@ public abstract class Item
return false; return false;
} }
public double getLightLevel() { public double getLightLevel(ItemStack stack) {
return 0; return 0;
} }

View File

@ -22,7 +22,7 @@ public class ItemLantern extends Item
} }
@Override @Override
public double getLightLevel() { public double getLightLevel(ItemStack stack) {
return 1; return 1;
} }

View File

@ -47,7 +47,7 @@ public class ItemTorch extends Item
stack.modifiers = new ItemModifier[] { stack.modifiers = new ItemModifier[] {
new ItemModifierMeta(1), new ItemModifierMeta(1),
new ItemModifierTimer(1000), new ItemModifierTimer(12000),
}; };
return true; return true;
@ -66,9 +66,12 @@ public class ItemTorch extends Item
return false; return false;
} }
System.out.println(timer.getDamage()); return timer.getDamage() > 1;
}
return timer.getDamage() <= 0; @Override
public double getLightLevel(ItemStack stack) {
return ItemModifierMeta.getStackMeta(stack) == 1 ? 1 : 0;
} }
@Override @Override

View File

@ -11,11 +11,11 @@ public class ItemModifierTimer extends ItemModifier
private long start; private long start;
public long getLeft() { public long getLeft() {
return GameTimer.getTime() - timer; return GameTimer.getTime() - end;
} }
public double getDamage() { public double getDamage() {
return 1 - (double)(timer - GameTimer.getTime()) / (double)timer; return 1 - (double)(end - GameTimer.getTime()) / (double)(end - start);
} }
public ItemModifierTimer(long time) { public ItemModifierTimer(long time) {