Skip to content

Commit

Permalink
Tie lastUpdateTick to individual deltas for thermometers
Browse files Browse the repository at this point in the history
  • Loading branch information
Adubbz committed Jan 2, 2024
1 parent 6b9c613 commit 8eb8301
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions common/src/main/java/toughasnails/init/ModItems.java
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ private static void registerItemProperties()
{
ItemProperties.register(TANItems.THERMOMETER, new ResourceLocation(ToughAsNails.MOD_ID, "temperature"), new ClampedItemPropertyFunction() {
final Map<Integer, Delta> deltas = new HashMap<>();
private long lastUpdateTick;


@Override
public float unclampedCall(ItemStack stack, @Nullable ClientLevel level, @Nullable LivingEntity entity, int seed)
Expand All @@ -106,22 +106,22 @@ public float unclampedCall(ItemStack stack, @Nullable ClientLevel level, @Nullab
return 0.5F;

Delta delta = deltas.computeIfAbsent(holder.getId(), k -> new Delta());

if (level.getGameTime() != this.lastUpdateTick) {
this.lastUpdateTick = level.getGameTime();
delta.update(TemperatureHelper.getTemperatureAtPos(level, holder.blockPosition()));
}

delta.update(level, TemperatureHelper.getTemperatureAtPos(level, holder.blockPosition()));
return delta.getValue();
}

private static class Delta
{
private long lastUpdateTick;
private double currentValue;
private double rota;

private void update(TemperatureLevel temperatureLevel)
private void update(ClientLevel level, TemperatureLevel temperatureLevel)
{
if (level.getGameTime() == this.lastUpdateTick)
return;

this.lastUpdateTick = level.getGameTime();
double targetValue = temperatureLevel.ordinal() * 0.25;
double delta = targetValue - this.currentValue;

Expand Down

0 comments on commit 8eb8301

Please sign in to comment.