16bit items
This commit is contained in:
@@ -5,5 +5,12 @@ import arc.util.io.*;
|
||||
/** A class that represents compartmentalized tile entity state. */
|
||||
public abstract class BlockModule{
|
||||
public abstract void write(Writes write);
|
||||
public abstract void read(Reads read);
|
||||
|
||||
public void read(Reads read, boolean legacy){
|
||||
read(read);
|
||||
}
|
||||
|
||||
public void read(Reads read){
|
||||
read(read, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -276,30 +276,30 @@ public class ItemModule extends BlockModule{
|
||||
|
||||
@Override
|
||||
public void write(Writes write){
|
||||
byte amount = 0;
|
||||
int amount = 0;
|
||||
for(int item : items){
|
||||
if(item > 0) amount++;
|
||||
}
|
||||
|
||||
write.b(amount); //amount of items
|
||||
write.s(amount); //amount of items
|
||||
|
||||
for(int i = 0; i < items.length; i++){
|
||||
if(items[i] > 0){
|
||||
write.b(i); //item ID
|
||||
write.s(i); //item ID
|
||||
write.i(items[i]); //item amount
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void read(Reads read){
|
||||
public void read(Reads read, boolean legacy){
|
||||
//just in case, reset items
|
||||
Arrays.fill(items, 0);
|
||||
int count = read.ub();
|
||||
int count = legacy ? read.ub() : read.s();
|
||||
total = 0;
|
||||
|
||||
for(int j = 0; j < count; j++){
|
||||
int itemid = read.ub();
|
||||
int itemid = legacy ? read.ub() : read.s();
|
||||
int itemamount = read.i();
|
||||
items[content.item(itemid).id] = itemamount;
|
||||
total += itemamount;
|
||||
|
||||
@@ -114,29 +114,29 @@ public class LiquidModule extends BlockModule{
|
||||
|
||||
@Override
|
||||
public void write(Writes write){
|
||||
byte amount = 0;
|
||||
int amount = 0;
|
||||
for(float liquid : liquids){
|
||||
if(liquid > 0) amount++;
|
||||
}
|
||||
|
||||
write.b(amount); //amount of liquids
|
||||
write.s(amount); //amount of liquids
|
||||
|
||||
for(int i = 0; i < liquids.length; i++){
|
||||
if(liquids[i] > 0){
|
||||
write.b(i); //liquid ID
|
||||
write.f(liquids[i]); //item amount
|
||||
write.s(i); //liquid ID
|
||||
write.f(liquids[i]); //liquid amount
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void read(Reads read){
|
||||
public void read(Reads read, boolean legacy){
|
||||
Arrays.fill(liquids, 0);
|
||||
total = 0f;
|
||||
int count = read.ub();
|
||||
int count = legacy ? read.ub() : read.s();
|
||||
|
||||
for(int j = 0; j < count; j++){
|
||||
int liquidid = read.ub();
|
||||
int liquidid = legacy ? read.ub() : read.s();
|
||||
float amount = read.f();
|
||||
liquids[liquidid] = amount;
|
||||
if(amount > 0){
|
||||
|
||||
Reference in New Issue
Block a user