switch restock timestamp and always format positive time
This commit is contained in:
parent
afc1814e40
commit
74bb0b0e9e
@ -207,7 +207,7 @@ public final class WrappedVillager {
|
||||
* @return True if the villager has been loaded long enough.
|
||||
*/
|
||||
public boolean canRestock(final long cooldown_millis) {
|
||||
return getLastRestock() + cooldown_millis <= villager.getWorld().getFullTime();
|
||||
return getLastRestock() + cooldown_millis <= System.currentTimeMillis();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -223,7 +223,7 @@ public final class WrappedVillager {
|
||||
* Saves the time of the in-game world when the entity was last restocked.
|
||||
*/
|
||||
public void saveRestockTime() {
|
||||
dataContainer.set(Keyring.VillagerOptimizer.LAST_RESTOCK.getKey(), PersistentDataType.LONG, villager.getWorld().getFullTime());
|
||||
dataContainer.set(Keyring.VillagerOptimizer.LAST_RESTOCK.getKey(), PersistentDataType.LONG, System.currentTimeMillis());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -247,7 +247,7 @@ public final class WrappedVillager {
|
||||
|
||||
public long getRestockCooldownMillis(final long cooldown_millis) {
|
||||
if (dataContainer.has(Keyring.VillagerOptimizer.LAST_RESTOCK.getKey(), PersistentDataType.LONG))
|
||||
return villager.getWorld().getFullTime() - (dataContainer.get(Keyring.VillagerOptimizer.LAST_RESTOCK.getKey(), PersistentDataType.LONG) + cooldown_millis);
|
||||
return System.currentTimeMillis() - (dataContainer.get(Keyring.VillagerOptimizer.LAST_RESTOCK.getKey(), PersistentDataType.LONG) + cooldown_millis);
|
||||
return cooldown_millis;
|
||||
}
|
||||
|
||||
@ -269,7 +269,7 @@ public final class WrappedVillager {
|
||||
* @return Whether the villager can be leveled up or not with the checked milliseconds
|
||||
*/
|
||||
public boolean canLevelUp(final long cooldown_millis) {
|
||||
if (villager.getWorld().getFullTime() < getLastLevelUpTime() + cooldown_millis) {
|
||||
if (System.currentTimeMillis() < getLastLevelUpTime() + cooldown_millis) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -285,7 +285,7 @@ public final class WrappedVillager {
|
||||
* Saves the time of the in-game world when the entity was last leveled up.
|
||||
*/
|
||||
public void saveLastLevelUp() {
|
||||
dataContainer.set(Keyring.VillagerOptimizer.LAST_LEVELUP.getKey(), PersistentDataType.LONG, villager.getWorld().getFullTime());
|
||||
dataContainer.set(Keyring.VillagerOptimizer.LAST_LEVELUP.getKey(), PersistentDataType.LONG, System.currentTimeMillis());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -302,7 +302,7 @@ public final class WrappedVillager {
|
||||
|
||||
public long getLevelCooldownMillis(final long cooldown_millis) {
|
||||
if (dataContainer.has(Keyring.VillagerOptimizer.LAST_LEVELUP.getKey(), PersistentDataType.LONG))
|
||||
return villager.getWorld().getFullTime() - (dataContainer.get(Keyring.VillagerOptimizer.LAST_LEVELUP.getKey(), PersistentDataType.LONG) + cooldown_millis);
|
||||
return System.currentTimeMillis() - (dataContainer.get(Keyring.VillagerOptimizer.LAST_LEVELUP.getKey(), PersistentDataType.LONG) + cooldown_millis);
|
||||
return cooldown_millis;
|
||||
}
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
package me.xginko.villageroptimizer.modules.gameplay;
|
||||
|
||||
import me.xginko.villageroptimizer.VillagerOptimizer;
|
||||
import me.xginko.villageroptimizer.VillagerCache;
|
||||
import me.xginko.villageroptimizer.VillagerOptimizer;
|
||||
import me.xginko.villageroptimizer.WrappedVillager;
|
||||
import me.xginko.villageroptimizer.config.Config;
|
||||
import me.xginko.villageroptimizer.enums.permissions.Bypass;
|
||||
import me.xginko.villageroptimizer.WrappedVillager;
|
||||
import me.xginko.villageroptimizer.modules.VillagerOptimizerModule;
|
||||
import me.xginko.villageroptimizer.utils.CommonUtil;
|
||||
import net.kyori.adventure.text.Component;
|
||||
@ -57,7 +57,7 @@ public class RestockOptimizedTrades implements VillagerOptimizerModule, Listener
|
||||
return true;
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
|
||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||
private void onInteract(PlayerInteractEntityEvent event) {
|
||||
if (!event.getRightClicked().getType().equals(EntityType.VILLAGER)) return;
|
||||
|
||||
|
@ -10,6 +10,8 @@ import java.time.Duration;
|
||||
|
||||
public class CommonUtil {
|
||||
public static @NotNull String formatDuration(Duration duration) {
|
||||
if (duration.isNegative()) duration = duration.negated();
|
||||
|
||||
final int seconds = duration.toSecondsPart();
|
||||
final int minutes = duration.toMinutesPart();
|
||||
final int hours = duration.toHoursPart();
|
||||
|
Loading…
x
Reference in New Issue
Block a user