Changed strange list access for items and liquids

This commit is contained in:
Anuken
2017-12-29 19:35:34 -05:00
parent 43e728739a
commit e39f9c624d
6 changed files with 27 additions and 18 deletions

View File

@@ -360,7 +360,7 @@ public class SaveIO{
Arrays.fill(Vars.control.getItems(), 0); Arrays.fill(Vars.control.getItems(), 0);
for(int i = 0; i < totalItems; i ++){ for(int i = 0; i < totalItems; i ++){
Item item = Item.items.get(stream.readByte()); Item item = Item.getByID(stream.readByte());
int amount = stream.readInt(); int amount = stream.readInt();
Vars.control.getItems()[item.id] = amount; Vars.control.getItems()[item.id] = amount;
} }

View File

@@ -4,16 +4,16 @@ import com.badlogic.gdx.utils.Array;
import io.anuke.ucore.util.Bundles; import io.anuke.ucore.util.Bundles;
public class Item{ public class Item{
private static final Array<Item> items = new Array<>();
public static final Array<Item> items = new Array<>(); public static final Item
stone = new Item("stone"),
public static final Item stone = new Item("stone"); iron = new Item("iron"),
public static final Item iron = new Item("iron"); coal = new Item("coal"),
public static final Item coal = new Item("coal"); steel = new Item("steel"),
public static final Item steel = new Item("steel"); titanium = new Item("titanium"),
public static final Item titanium = new Item("titanium"); dirium = new Item("dirium"),
public static final Item dirium = new Item("dirium"); uranium = new Item("uranium");
public static final Item uranium = new Item("uranium");
public final int id; public final int id;
public final String name; public final String name;
@@ -37,4 +37,8 @@ public class Item{
public static Array<Item> getAllItems() { public static Array<Item> getAllItems() {
return Item.items; return Item.items;
} }
public static Item getByID(int id){
return items.get(id);
}
} }

View File

@@ -6,12 +6,13 @@ import io.anuke.ucore.util.Bundles;
public class Liquid { public class Liquid {
public static final Array<Liquid> liquids = new Array<>(); private static final Array<Liquid> liquids = new Array<>();
public static final Liquid water = new Liquid("water", Color.ROYAL); public static final Liquid
public static final Liquid plasma = new Liquid("plasma", Color.CORAL); water = new Liquid("water", Color.ROYAL),
public static final Liquid lava = new Liquid("lava", Color.valueOf("ed5334")); plasma = new Liquid("plasma", Color.CORAL),
public static final Liquid oil = new Liquid("oil", Color.valueOf("292929")); lava = new Liquid("lava", Color.valueOf("ed5334")),
oil = new Liquid("oil", Color.valueOf("292929"));
public final Color color; public final Color color;
public final String name; public final String name;
@@ -38,4 +39,8 @@ public class Liquid {
public static Array<Liquid> getAllLiquids() { public static Array<Liquid> getAllLiquids() {
return Liquid.liquids; return Liquid.liquids;
} }
public static Liquid getByID(int id){
return liquids.get(id);
}
} }

View File

@@ -299,7 +299,7 @@ public class BlocksFragment implements Fragment{
int amount = control.getItems()[i]; int amount = control.getItems()[i];
if(amount == 0) continue; if(amount == 0) continue;
String formatted = amount > 99999999 ? "inf" : format(amount); String formatted = amount > 99999999 ? "inf" : format(amount);
Image image = new Image(Draw.region("icon-" + Item.items.get(i).name)); Image image = new Image(Draw.region("icon-" + Item.getByID(i).name));
Label label = new Label(formatted); Label label = new Label(formatted);
label.setFontScale(fontscale*1.5f); label.setFontScale(fontscale*1.5f);
itemtable.add(image).size(8*3); itemtable.add(image).size(8*3);

View File

@@ -130,7 +130,7 @@ public class LiquidBlock extends Block implements LiquidAcceptor{
@Override @Override
public void read(DataInputStream stream) throws IOException{ public void read(DataInputStream stream) throws IOException{
byte id = stream.readByte(); byte id = stream.readByte();
liquid = id == -1 ? null : Liquid.liquids.get(id); liquid = id == -1 ? null : Liquid.getByID(id);
liquidAmount = stream.readByte(); liquidAmount = stream.readByte();
} }
} }

View File

@@ -127,7 +127,7 @@ public class LiquidPowerGenerator extends Generator implements LiquidAcceptor{
public void read(DataInputStream stream) throws IOException{ public void read(DataInputStream stream) throws IOException{
super.read(stream); super.read(stream);
byte id = stream.readByte(); byte id = stream.readByte();
liquid = id == -1 ? null : Liquid.liquids.get(id); liquid = id == -1 ? null : Liquid.getByID(id);
liquidAmount = stream.readByte(); liquidAmount = stream.readByte();
} }
} }