property delegate

This commit is contained in:
nelle 2023-06-30 01:19:19 -06:00
parent 8760c6903e
commit c3b7ea3f85

View file

@ -26,6 +26,41 @@ public class ArcFurnaceBlockEntity extends BlockEntity implements NamedScreenHan
public ArcFurnaceBlockEntity(BlockPos pos, BlockState state) {
super(ModBlockEntities.ARC_FURNACE, pos, state);
this.propertyDelegate = new PropertyDelegate() {
@Override
public int get(int index) {
switch (index) {
case 0:
return ArcFurnaceBlockEntity.this.progress;
case 1:
return ArcFurnaceBlockEntity.this.maxProgress;
case 2:
return ArcFurnaceBlockEntity.this.fuelTime;
case 3:
return ArcFurnaceBlockEntity.this.maxFuelTime;
default: return 0;
}
}
@Override
public void set(int index, int value) {
switch (index) {
case 0:
ArcFurnaceBlockEntity.this.progress = value; break;
case 1:
ArcFurnaceBlockEntity.this.maxProgress = value; break;
case 2:
ArcFurnaceBlockEntity.this.fuelTime = value; break;
case 3:
ArcFurnaceBlockEntity.this.maxFuelTime = value; break;
}
}
@Override
public int size() {
return 4;
}
}
}
@Override