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>
|
||||
Date: Sun, 1 May 2016 21:19:14 -0400
|
||||
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
|
||||
new file mode 100644
|
||||
index 000000000..01c2713d3
|
||||
index 000000000..de2eff17e
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/loottable/CraftLootableInventoryData.java
|
||||
@@ -0,0 +1,182 @@
|
||||
|
@ -326,9 +326,9 @@ index 000000000..01c2713d3
|
|||
+ this.lastFill = System.currentTimeMillis();
|
||||
+ final PaperWorldConfig paperConfig = this.lootable.getNMSWorld().paperConfig;
|
||||
+ if (paperConfig.autoReplenishLootables) {
|
||||
+ int min = paperConfig.lootableRegenMin * 1000;
|
||||
+ int max = paperConfig.lootableRegenMax * 1000;
|
||||
+ this.nextRefill = this.lastFill + min + RANDOM.nextInt(max - min + 1);
|
||||
+ int min = paperConfig.lootableRegenMin;
|
||||
+ int max = paperConfig.lootableRegenMax;
|
||||
+ this.nextRefill = this.lastFill + (min + RANDOM.nextInt(max - min + 1)) * 1000L;
|
||||
+ this.numRefills++;
|
||||
+ if (paperConfig.changeLootTableSeedOnFill) {
|
||||
+ this.lootable.setLootTableSeed(0);
|
||||
|
@ -791,5 +791,5 @@ index e9963e21c..acb4dee04 100644
|
|||
|
||||
CraftMinecartHopper(CraftServer server, EntityMinecartHopper entity) {
|
||||
--
|
||||
2.16.1
|
||||
2.16.1.windows.1
|
||||
|
||||
|
|
Loading…
Reference in New Issue