Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-11-15 04:20:04 +01:00
c5a10665b8
Spigot still maintains some partial implementation of "tick skipping", a practice in which the MinecraftServer.currentTick field is updated not by an increment of one per actual tick, but instead set to System.currentTimeMillis() / 50. This behaviour means that the tracked tick may "skip" a tick value in case a previous tick took more than the expected 50ms. To compensate for this in important paths, spigot/craftbukkit implements "wall-time". Instead of incrementing/decrementing ticks on block entities/entities by one for each call to their tick() method, they instead increment/decrement important values, like an ItemEntity's age or pickupDelay, by the difference of `currentTick - lastTick`, where `lastTick` is the value of `currentTick` during the last tick() call. These "fixes" however do not play nicely with minecraft's simulation distance as entities/block entities implementing the above behaviour would "catch up" their values when moving from a non-ticking chunk to a ticking one as their `lastTick` value remains stuck on the last tick in a ticking chunk and hence lead to a large "catch up" once ticked again. Paper completely removes the "tick skipping" behaviour (See patch "Further-improve-server-tick-loop"), making the above precautions completely unnecessary, which also rids paper of the previous described incompatibility with non-ticking chunks.
42 Zeilen
2.4 KiB
Diff
42 Zeilen
2.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Newwind <support@newwindserver.com>
|
|
Date: Thu, 22 Aug 2024 22:55:37 +0200
|
|
Subject: [PATCH] Remove set damage lootable item function from compasses
|
|
|
|
In VanillaChestLoot, compasses accidentally have a setdamage loot
|
|
function on them, but compasses don't take durability, resulting in a warning.
|
|
This patch simply removes attempting to add damage to the compass item.
|
|
|
|
diff --git a/src/main/java/net/minecraft/data/loot/packs/VanillaChestLoot.java b/src/main/java/net/minecraft/data/loot/packs/VanillaChestLoot.java
|
|
index 096899338640bb8a7052db06bf55e9fe33bf1cbe..cff6b265622701266349b6cf68eb874aa6fb6321 100644
|
|
--- a/src/main/java/net/minecraft/data/loot/packs/VanillaChestLoot.java
|
|
+++ b/src/main/java/net/minecraft/data/loot/packs/VanillaChestLoot.java
|
|
@@ -946,7 +946,6 @@ public record VanillaChestLoot(HolderLookup.Provider registries) implements Loot
|
|
.add(
|
|
LootItem.lootTableItem(Items.COMPASS)
|
|
.apply(SetItemCountFunction.setCount(ConstantValue.exactly(1.0F)))
|
|
- .apply(SetItemDamageFunction.setDamage(UniformGenerator.between(0.15F, 0.8F)))
|
|
.setWeight(1)
|
|
)
|
|
.add(LootItem.lootTableItem(Items.BUCKET).apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 2.0F))).setWeight(1))
|
|
diff --git a/src/main/resources/data/minecraft/loot_table/chests/trial_chambers/intersection_barrel.json b/src/main/resources/data/minecraft/loot_table/chests/trial_chambers/intersection_barrel.json
|
|
index b5f5415a9f8bbb9d59926dc6c09e4a12dce2e9b9..fea6273ab4fe2383101f351a13d127e615b81d71 100644
|
|
--- a/src/main/resources/data/minecraft/loot_table/chests/trial_chambers/intersection_barrel.json
|
|
+++ b/src/main/resources/data/minecraft/loot_table/chests/trial_chambers/intersection_barrel.json
|
|
@@ -70,15 +70,6 @@
|
|
"add": false,
|
|
"count": 1.0,
|
|
"function": "minecraft:set_count"
|
|
- },
|
|
- {
|
|
- "add": false,
|
|
- "damage": {
|
|
- "type": "minecraft:uniform",
|
|
- "max": 0.8,
|
|
- "min": 0.15
|
|
- },
|
|
- "function": "minecraft:set_damage"
|
|
}
|
|
],
|
|
"name": "minecraft:compass"
|