1.21.5
Co-authored-by: Bjarne Koll <git@lynxplay.dev> Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com> Co-authored-by: Lulu13022002 <41980282+Lulu13022002@users.noreply.github.com> Co-authored-by: MiniDigger | Martin <admin@minidigger.dev> Co-authored-by: Nassim Jahnke <nassim@njahnke.dev> Co-authored-by: Noah van der Aa <ndvdaa@gmail.com> Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com> Co-authored-by: Shane Freeder <theboyetronic@gmail.com> Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com> Co-authored-by: Tamion <70228790+notTamion@users.noreply.github.com> Co-authored-by: Warrior <50800980+Warriorrrr@users.noreply.github.com>
This commit is contained in:
@@ -39,7 +39,7 @@
|
||||
)) {
|
||||
+ // Paper start - PreCreatureSpawnEvent
|
||||
+ final com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent event = new com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent(
|
||||
+ io.papermc.paper.util.MCUtil.toLocation(level, pos),
|
||||
+ org.bukkit.craftbukkit.util.CraftLocation.toBukkit(pos, level),
|
||||
+ org.bukkit.craftbukkit.entity.CraftEntityType.minecraftToBukkit(entityType),
|
||||
+ reason
|
||||
+ );
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
--- a/net/minecraft/util/datafix/DataFixers.java
|
||||
+++ b/net/minecraft/util/datafix/DataFixers.java
|
||||
@@ -505,6 +_,18 @@
|
||||
@@ -541,6 +_,18 @@
|
||||
Schema schema44 = builder.addSchema(1456, SAME_NAMESPACED);
|
||||
builder.addFixer(new EntityItemFrameDirectionFix(schema44, false));
|
||||
Schema schema45 = builder.addSchema(1458, SAME_NAMESPACED);
|
||||
Schema schema45 = builder.addSchema(1458, V1458::new);
|
||||
+ // CraftBukkit start
|
||||
+ builder.addFixer(new com.mojang.datafixers.DataFix(schema45, false) {
|
||||
+ @Override
|
||||
+ protected com.mojang.datafixers.TypeRewriteRule makeRule() {
|
||||
+ return this.fixTypeEverywhereTyped("Player CustomName", this.getInputSchema().getType(References.PLAYER), (typed) -> {
|
||||
+ return typed.update(DSL.remainderFinder(), (dynamic) -> {
|
||||
+ return EntityCustomNameToComponentFix.fixTagCustomName(dynamic);
|
||||
+ return EntityCustomNameToComponentFix.fixCustomName(dynamic.getOps(), dynamic.get("CustomName").asString(""), "minecraft:player");
|
||||
+ });
|
||||
+ });
|
||||
+ }
|
||||
+ });
|
||||
+ // CraftBukkit end
|
||||
builder.addFixer(new EntityCustomNameToComponentFix(schema45, false));
|
||||
builder.addFixer(new ItemCustomNameToComponentFix(schema45, false));
|
||||
builder.addFixer(new BlockEntityCustomNameToComponentFix(schema45, false));
|
||||
builder.addFixer(new EntityCustomNameToComponentFix(schema45));
|
||||
builder.addFixer(new ItemCustomNameToComponentFix(schema45));
|
||||
builder.addFixer(new BlockEntityCustomNameToComponentFix(schema45));
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
--- a/net/minecraft/util/parsing/packrat/Scope.java
|
||||
+++ b/net/minecraft/util/parsing/packrat/Scope.java
|
||||
@@ -281,4 +_,36 @@
|
||||
|
||||
return true;
|
||||
}
|
||||
+
|
||||
+ // Paper start - track depth
|
||||
+ private int depth;
|
||||
+ @SuppressWarnings({"unchecked","rawtypes"})
|
||||
+ public static <S> Term<S> increaseDepth() {
|
||||
+ class IncreasingDepthTerm<W> implements Term<W> {
|
||||
+ public static final IncreasingDepthTerm INSTANCE = new IncreasingDepthTerm();
|
||||
+ @Override
|
||||
+ public boolean parse(final ParseState<W> parseState, final Scope scope, final Control control) {
|
||||
+ if (++scope.depth > 512) {
|
||||
+ parseState.errorCollector().store(parseState.mark(), new IllegalStateException("Too deep"));
|
||||
+ return false;
|
||||
+ }
|
||||
+ return true;
|
||||
+ }
|
||||
+ }
|
||||
+ return (Term<S>) IncreasingDepthTerm.INSTANCE;
|
||||
+ }
|
||||
+
|
||||
+ @SuppressWarnings({"unchecked","rawtypes"})
|
||||
+ public static <S> Term<S> decreaseDepth() {
|
||||
+ class DecreasingDepthTerm<W> implements Term<W> {
|
||||
+ public static final DecreasingDepthTerm INSTANCE = new DecreasingDepthTerm();
|
||||
+ @Override
|
||||
+ public boolean parse(final ParseState<W> parseState, final Scope scope, final Control control) {
|
||||
+ scope.depth--;
|
||||
+ return true;
|
||||
+ }
|
||||
+ }
|
||||
+ return (Term<S>) DecreasingDepthTerm.INSTANCE;
|
||||
+ }
|
||||
+ // Paper end - track depth
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
--- a/net/minecraft/util/random/WeightedList.java
|
||||
+++ b/net/minecraft/util/random/WeightedList.java
|
||||
@@ -13,14 +_,14 @@
|
||||
import net.minecraft.util.ExtraCodecs;
|
||||
import net.minecraft.util.RandomSource;
|
||||
|
||||
-public final class WeightedList<E> {
|
||||
+public class WeightedList<E> { // Paper - non-final
|
||||
private static final int FLAT_THRESHOLD = 64;
|
||||
private final int totalWeight;
|
||||
private final List<Weighted<E>> items;
|
||||
@Nullable
|
||||
private final WeightedList.Selector<E> selector;
|
||||
|
||||
- WeightedList(List<? extends Weighted<E>> items) {
|
||||
+ protected WeightedList(List<? extends Weighted<E>> items) { // Paper - protected
|
||||
this.items = List.copyOf(items);
|
||||
this.totalWeight = WeightedRandom.getTotalWeight(items, Weighted::weight);
|
||||
if (this.totalWeight == 0) {
|
||||
@@ -122,7 +_,7 @@
|
||||
}
|
||||
|
||||
public static class Builder<E> {
|
||||
- private final ImmutableList.Builder<Weighted<E>> result = ImmutableList.builder();
|
||||
+ protected final ImmutableList.Builder<Weighted<E>> result = ImmutableList.builder();
|
||||
|
||||
public WeightedList.Builder<E> add(E element) {
|
||||
return this.add(element, 1);
|
||||
@@ -1,7 +1,7 @@
|
||||
--- a/net/minecraft/util/worldupdate/WorldUpgrader.java
|
||||
+++ b/net/minecraft/util/worldupdate/WorldUpgrader.java
|
||||
@@ -79,7 +_,7 @@
|
||||
LevelStorageSource.LevelStorageAccess levelStorage, DataFixer dataFixer, RegistryAccess registryAccess, boolean eraseCache, boolean recreateRegionFiles
|
||||
@@ -87,7 +_,7 @@
|
||||
boolean recreateRegionFiles
|
||||
) {
|
||||
this.dimensions = registryAccess.lookupOrThrow(Registries.LEVEL_STEM);
|
||||
- this.levels = this.dimensions.registryKeySet().stream().map(Registries::levelStemToLevel).collect(Collectors.toUnmodifiableSet());
|
||||
@@ -9,12 +9,12 @@
|
||||
this.eraseCache = eraseCache;
|
||||
this.dataFixer = dataFixer;
|
||||
this.levelStorage = levelStorage;
|
||||
@@ -358,7 +_,7 @@
|
||||
@@ -369,7 +_,7 @@
|
||||
int version = ChunkStorage.getVersion(compoundTag);
|
||||
ChunkGenerator chunkGenerator = WorldUpgrader.this.dimensions.getValueOrThrow(Registries.levelToLevelStem(dimension)).generator();
|
||||
CompoundTag compoundTag1 = chunkStorage.upgradeChunkTag(
|
||||
- dimension, () -> WorldUpgrader.this.overworldDataStorage, compoundTag, chunkGenerator.getTypeNameForDataFixer()
|
||||
+ Registries.levelToLevelStem(dimension), () -> WorldUpgrader.this.overworldDataStorage, compoundTag, chunkGenerator.getTypeNameForDataFixer(), chunkPos, null // CraftBukkit
|
||||
);
|
||||
ChunkPos chunkPos1 = new ChunkPos(compoundTag1.getInt("xPos"), compoundTag1.getInt("zPos"));
|
||||
ChunkPos chunkPos1 = new ChunkPos(compoundTag1.getIntOr("xPos", 0), compoundTag1.getIntOr("zPos", 0));
|
||||
if (!chunkPos1.equals(chunkPos)) {
|
||||
|
||||
Reference in New Issue
Block a user