mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-11 19:00:40 +01:00
Avoid int overflow in lootable refill time calculations (#1146)
Fixes https://github.com/PaperMC/Paper/issues/1141
This commit is contained in:
parent
2c1d1ac456
commit
8b371226fb
@ -1,4 +1,4 @@
|
|||||||
From 5819a09940af69a152ca201f2d8ad27a19508928 Mon Sep 17 00:00:00 2001
|
From 72ecf0a094c609382a42d214b204499eb35c00fd Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Sun, 1 May 2016 21:19:14 -0400
|
Date: Sun, 1 May 2016 21:19:14 -0400
|
||||||
Subject: [PATCH] LootTable API & Replenishable Lootables Feature
|
Subject: [PATCH] LootTable API & Replenishable Lootables Feature
|
||||||
@ -231,7 +231,7 @@ index 000000000..668097620
|
|||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/loottable/CraftLootableInventoryData.java b/src/main/java/com/destroystokyo/paper/loottable/CraftLootableInventoryData.java
|
diff --git a/src/main/java/com/destroystokyo/paper/loottable/CraftLootableInventoryData.java b/src/main/java/com/destroystokyo/paper/loottable/CraftLootableInventoryData.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000..01c2713d3
|
index 000000000..de2eff17e
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/loottable/CraftLootableInventoryData.java
|
+++ b/src/main/java/com/destroystokyo/paper/loottable/CraftLootableInventoryData.java
|
||||||
@@ -0,0 +1,182 @@
|
@@ -0,0 +1,182 @@
|
||||||
@ -326,9 +326,9 @@ index 000000000..01c2713d3
|
|||||||
+ this.lastFill = System.currentTimeMillis();
|
+ this.lastFill = System.currentTimeMillis();
|
||||||
+ final PaperWorldConfig paperConfig = this.lootable.getNMSWorld().paperConfig;
|
+ final PaperWorldConfig paperConfig = this.lootable.getNMSWorld().paperConfig;
|
||||||
+ if (paperConfig.autoReplenishLootables) {
|
+ if (paperConfig.autoReplenishLootables) {
|
||||||
+ int min = paperConfig.lootableRegenMin * 1000;
|
+ int min = paperConfig.lootableRegenMin;
|
||||||
+ int max = paperConfig.lootableRegenMax * 1000;
|
+ int max = paperConfig.lootableRegenMax;
|
||||||
+ this.nextRefill = this.lastFill + min + RANDOM.nextInt(max - min + 1);
|
+ this.nextRefill = this.lastFill + (min + RANDOM.nextInt(max - min + 1)) * 1000L;
|
||||||
+ this.numRefills++;
|
+ this.numRefills++;
|
||||||
+ if (paperConfig.changeLootTableSeedOnFill) {
|
+ if (paperConfig.changeLootTableSeedOnFill) {
|
||||||
+ this.lootable.setLootTableSeed(0);
|
+ this.lootable.setLootTableSeed(0);
|
||||||
@ -791,5 +791,5 @@ index e9963e21c..acb4dee04 100644
|
|||||||
|
|
||||||
CraftMinecartHopper(CraftServer server, EntityMinecartHopper entity) {
|
CraftMinecartHopper(CraftServer server, EntityMinecartHopper entity) {
|
||||||
--
|
--
|
||||||
2.16.1
|
2.16.1.windows.1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user