Attach extra data to jobs

This commit is contained in:
DBotThePony 2021-08-16 14:26:43 +07:00
parent cd1e8adfa1
commit 117d1ea461
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -38,11 +38,16 @@ abstract public class BlockEntityMatteryPoweredWorker extends BlockEntityMattery
}
}
public record MachineJob(ItemStack stack, double ticks_processing_time, BigDecimal power_consumption_multiplier) {
public MachineJob(ItemStack stack, double ticks_processing_time, BigDecimal power_consumption_multiplier) {
public record MachineJob(ItemStack stack, double ticks_processing_time, BigDecimal power_consumption_multiplier, CompoundTag data) {
public MachineJob(ItemStack stack, double ticks_processing_time, BigDecimal power_consumption_multiplier, CompoundTag data) {
this.stack = stack;
this.ticks_processing_time = ticks_processing_time;
this.power_consumption_multiplier = power_consumption_multiplier;
this.data = data;
}
public MachineJob(ItemStack stack, double ticks_processing_time, BigDecimal power_consumption_multiplier) {
this(stack, ticks_processing_time, power_consumption_multiplier, new CompoundTag());
}
public MachineJob(ItemStack stack, double ticks_processing_time) {
@ -52,6 +57,7 @@ abstract public class BlockEntityMatteryPoweredWorker extends BlockEntityMattery
public CompoundTag serializeNBT() {
CompoundTag store_job = new CompoundTag();
store_job.put("data", data);
store_job.put("stack", stack.serializeNBT());
store_job.putDouble("ticks_processing_time", ticks_processing_time);
store_job.putString("power_consumption_multiplier", power_consumption_multiplier.toString());
@ -69,7 +75,7 @@ abstract public class BlockEntityMatteryPoweredWorker extends BlockEntityMattery
ItemStack stack = ItemStack.of(stack_tag);
if (!stack.isEmpty()) {
return new MachineJob(stack, ticks_processing_time.getAsDouble(), new BigDecimal(power_consumption_multiplier.getAsString()));
return new MachineJob(stack, ticks_processing_time.getAsDouble(), new BigDecimal(power_consumption_multiplier.getAsString()), tag.getCompound("data"));
}
}
}