Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
05cb10c56f Add repo for Velocity natives to dev bundle (#6536)
7bd7b18811 Configurable feature seeds (#6531)
ca708a0944 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#6539)
f02d3d8989 flattener should try to render custom translations (#6540)
1276bd5039 Fixed layers from V2550 not being added to list (#6541)
a763f258da docs: remove Paper tool method for patch mods
20903fcf5e docs: drop table of contents; it's built into GH
This commit is contained in:
William Blake Galbreath
2021-09-02 12:13:07 -05:00
parent cdbf59da1d
commit 8c2e417757
174 changed files with 120 additions and 1145 deletions

View File

@@ -4,7 +4,7 @@ version = 1.17.1-R0.1-SNAPSHOT
mcVersion = 1.17.1
packageVersion = 1_17_R1
paperCommit = a6151865026f70340268d4db1712a9b04e75b8c2
paperCommit = 20903fcf5e227a1a03e2afd89f01bfe951b2b328
org.gradle.caching = true
org.gradle.parallel = true

View File

@@ -5749,10 +5749,10 @@ index 0e1dcfdf846f978340380352e092375ffa089cb0..7c51a6113bbf35f96693daf2988b6d59
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index db6c0917824b9127abd9f9250dc195a9f1d56f4f..89ad1c69456fb4aaf2ab8742c76343b30b74ecd0 100644
index 31bbf018e3b7cafb1e186c7d00b421fb133331a3..18059a30b53f566dd1d2ed3af1460e5672d6e32f 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -537,6 +537,15 @@ public class CraftEventFactory {
@@ -541,6 +541,15 @@ public class CraftEventFactory {
}
craftServer.getPluginManager().callEvent(event);
@@ -5768,7 +5768,7 @@ index db6c0917824b9127abd9f9250dc195a9f1d56f4f..89ad1c69456fb4aaf2ab8742c76343b3
return event;
}
@@ -960,6 +969,7 @@ public class CraftEventFactory {
@@ -964,6 +973,7 @@ public class CraftEventFactory {
damageCause = DamageCause.ENTITY_EXPLOSION;
}
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), entity.getBukkitEntity(), damageCause, modifiers, modifierFunctions);
@@ -5776,7 +5776,7 @@ index db6c0917824b9127abd9f9250dc195a9f1d56f4f..89ad1c69456fb4aaf2ab8742c76343b3
}
event.setCancelled(cancelled);
@@ -1045,6 +1055,7 @@ public class CraftEventFactory {
@@ -1049,6 +1059,7 @@ public class CraftEventFactory {
if (!event.isCancelled()) {
event.getEntity().setLastDamageCause(event);
}
@@ -5784,7 +5784,7 @@ index db6c0917824b9127abd9f9250dc195a9f1d56f4f..89ad1c69456fb4aaf2ab8742c76343b3
return event;
}
@@ -1096,6 +1107,7 @@ public class CraftEventFactory {
@@ -1100,6 +1111,7 @@ public class CraftEventFactory {
EntityDamageEvent event;
if (damager != null) {
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Silk touch spawners
diff --git a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
index f63b80a1120b2bf5f77f1c1edb928309a1272f79..363f94e86e3349d9ed03b692e136307fe9fa5e28 100644
index 41762b5ed19b17ee524f79726eaa4cf38479ba96..9054268a0cf54b53f24084f304a3ef75ef17a16e 100644
--- a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
+++ b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
@@ -80,6 +80,7 @@ public final class PaperAdventure {
@@ -85,6 +85,7 @@ public final class PaperAdventure {
})
.build();
public static final LegacyComponentSerializer LEGACY_SECTION_UXRC = LegacyComponentSerializer.builder().flattener(FLATTENER).hexColors().useUnusualXRepeatedCharacterHexFormat().build();

View File

@@ -35,11 +35,11 @@ index f52420f27f51d9dbf214f96a0530c0f17f2bc5fc..12cd1b453150e098975c34e00ec9277f
skull.setPosRaw(headX, headY, headZ);
level.addFreshEntity(skull);
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
index 05af8f292a598a242a396afe4c2ddb2aa2c6b42e..47d138627286ef03339ac06b6c7f4a151bdcb823 100644
index 916f93b097a65f95e830fe5e1567c85d304f808f..0ec5522e0233877792cb85e170a0d58883789d5d 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
@@ -92,6 +92,7 @@ public class EntityStorage implements EntityPersistentStorage<Entity> {
ListTag listTag = new ListTag();
@@ -109,6 +109,7 @@ public class EntityStorage implements EntityPersistentStorage<Entity> {
final java.util.Map<net.minecraft.world.entity.EntityType<?>, Integer> savedEntityCounts = new java.util.HashMap<>(); // Paper
dataList.getEntities().forEach((entity) -> {
+ if (!entity.canSaveToDisk()) return; // Purpur

View File

@@ -1,969 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Wed, 15 Jul 2020 11:49:36 -0500
Subject: [PATCH] Configurable feature seed settings
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/BambooFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/BambooFeature.java
index 7f3792fce13fbc27364b7d881933f54138717f51..f16c2ea9c44bb9889f4b12cb89367ef90a9bf222 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/BambooFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/BambooFeature.java
@@ -27,7 +27,7 @@ public class BambooFeature extends Feature<ProbabilityFeatureConfiguration> {
int i = 0;
BlockPos blockPos = context.origin();
WorldGenLevel worldGenLevel = context.level();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureBamboo); // Purpur
ProbabilityFeatureConfiguration probabilityFeatureConfiguration = context.config();
BlockPos.MutableBlockPos mutableBlockPos = blockPos.mutable();
BlockPos.MutableBlockPos mutableBlockPos2 = blockPos.mutable();
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/BasaltColumnsFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/BasaltColumnsFeature.java
index 1949477637d826978e01547624bfccdb5048afb1..1af28ee54dc061d9ab1f06d07f4b8d58e7794677 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/BasaltColumnsFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/BasaltColumnsFeature.java
@@ -29,7 +29,7 @@ public class BasaltColumnsFeature extends Feature<ColumnFeatureConfiguration> {
int i = context.chunkGenerator().getSeaLevel();
BlockPos blockPos = context.origin();
WorldGenLevel worldGenLevel = context.level();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureBasaltColumns); // Purpur
ColumnFeatureConfiguration columnFeatureConfiguration = context.config();
if (!canPlaceAt(worldGenLevel, i, blockPos.mutable())) {
return false;
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/BasaltPillarFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/BasaltPillarFeature.java
index 94c01df47765c7e7e9cc4cd59b87e14ead4e4e86..39b6d627ff7c59b91ab22d5eba8658232784b50f 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/BasaltPillarFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/BasaltPillarFeature.java
@@ -19,7 +19,7 @@ public class BasaltPillarFeature extends Feature<NoneFeatureConfiguration> {
public boolean place(FeaturePlaceContext<NoneFeatureConfiguration> context) {
BlockPos blockPos = context.origin();
WorldGenLevel worldGenLevel = context.level();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureBasaltPillar); // Purpur
if (worldGenLevel.isEmptyBlock(blockPos) && !worldGenLevel.isEmptyBlock(blockPos.above())) {
BlockPos.MutableBlockPos mutableBlockPos = blockPos.mutable();
BlockPos.MutableBlockPos mutableBlockPos2 = blockPos.mutable();
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/BaseDiskFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/BaseDiskFeature.java
index 080bc62fa178bb84ad8672268e75be2ad554dfd2..b48084e3b63bda65ab58d5966dc5b0c94cef2992 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/BaseDiskFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/BaseDiskFeature.java
@@ -14,17 +14,20 @@ public class BaseDiskFeature extends Feature<DiskConfiguration> {
super(configCodec);
}
+ protected net.minecraft.core.BlockPos origin; // Purpur
+ protected java.util.Random random; // Purpur
+
@Override
public boolean place(FeaturePlaceContext<DiskConfiguration> context) {
DiskConfiguration diskConfiguration = context.config();
- BlockPos blockPos = context.origin();
+ BlockPos blockPos = this.origin; // Purpur
WorldGenLevel worldGenLevel = context.level();
boolean bl = false;
int i = blockPos.getY();
int j = i + diskConfiguration.halfHeight;
int k = i - diskConfiguration.halfHeight - 1;
boolean bl2 = diskConfiguration.state.getBlock() instanceof FallingBlock;
- int l = diskConfiguration.radius.sample(context.random());
+ int l = diskConfiguration.radius.sample(this.random); // Purpur
for(int m = blockPos.getX() - l; m <= blockPos.getX() + l; ++m) {
for(int n = blockPos.getZ() - l; n <= blockPos.getZ() + l; ++n) {
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/BlockBlobFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/BlockBlobFeature.java
index fb7002cbc3a80e390f3220e1e8a8c3ad85b97b52..455d6ac2824a8a6cfa8cc89f7f108d2c855c692c 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/BlockBlobFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/BlockBlobFeature.java
@@ -16,7 +16,7 @@ public class BlockBlobFeature extends Feature<BlockStateConfiguration> {
public boolean place(FeaturePlaceContext<BlockStateConfiguration> context) {
BlockPos blockPos = context.origin();
WorldGenLevel worldGenLevel = context.level();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureForestRock); // Purpur
BlockStateConfiguration blockStateConfiguration;
for(blockStateConfiguration = context.config(); blockPos.getY() > worldGenLevel.getMinBuildHeight() + 3; blockPos = blockPos.below()) {
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/BlockPileFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/BlockPileFeature.java
index 2cdb1f0dd3e5d184f4cf5f3807c0e76913e62be0..749577d6a8fc01cd89fef885961de2cf59145f75 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/BlockPileFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/BlockPileFeature.java
@@ -19,7 +19,7 @@ public class BlockPileFeature extends Feature<BlockPileConfiguration> {
public boolean place(FeaturePlaceContext<BlockPileConfiguration> context) {
BlockPos blockPos = context.origin();
WorldGenLevel worldGenLevel = context.level();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureBlockPile); // Purpur
BlockPileConfiguration blockPileConfiguration = context.config();
if (blockPos.getY() < worldGenLevel.getMinBuildHeight() + 5) {
return false;
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/BlueIceFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/BlueIceFeature.java
index fd289d06417a96a95265f0da835b7ca868eba6b6..0c9ca3866caf870f07c6a1c84832a0efad4934a5 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/BlueIceFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/BlueIceFeature.java
@@ -19,7 +19,7 @@ public class BlueIceFeature extends Feature<NoneFeatureConfiguration> {
public boolean place(FeaturePlaceContext<NoneFeatureConfiguration> context) {
BlockPos blockPos = context.origin();
WorldGenLevel worldGenLevel = context.level();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureBlueIce); // Purpur
if (blockPos.getY() > worldGenLevel.getSeaLevel() - 1) {
return false;
} else if (!worldGenLevel.getBlockState(blockPos).is(Blocks.WATER) && !worldGenLevel.getBlockState(blockPos.below()).is(Blocks.WATER)) {
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/BonusChestFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/BonusChestFeature.java
index f0897875e9b61a9e49f0acf31fdfac6237dc32b3..47f14f5b331c925222e363ef3b42a5539c1b626f 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/BonusChestFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/BonusChestFeature.java
@@ -24,7 +24,7 @@ public class BonusChestFeature extends Feature<NoneFeatureConfiguration> {
@Override
public boolean place(FeaturePlaceContext<NoneFeatureConfiguration> context) {
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureBonusChest); // Purpur
WorldGenLevel worldGenLevel = context.level();
ChunkPos chunkPos = new ChunkPos(context.origin());
List<Integer> list = IntStream.rangeClosed(chunkPos.getMinBlockX(), chunkPos.getMaxBlockX()).boxed().collect(Collectors.toList());
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/ChorusPlantFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/ChorusPlantFeature.java
index 6640061ecc11ec3e4a0203d8d6990489fcf10729..565f32a933090360412d9c98f8945f1719a768d3 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/ChorusPlantFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/ChorusPlantFeature.java
@@ -17,7 +17,7 @@ public class ChorusPlantFeature extends Feature<NoneFeatureConfiguration> {
public boolean place(FeaturePlaceContext<NoneFeatureConfiguration> context) {
WorldGenLevel worldGenLevel = context.level();
BlockPos blockPos = context.origin();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureChorusPlant); // Purpur
if (worldGenLevel.isEmptyBlock(blockPos) && worldGenLevel.getBlockState(blockPos.below()).is(Blocks.END_STONE)) {
ChorusFlowerBlock.generatePlant(worldGenLevel, blockPos, random, 8);
return true;
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/CoralClawFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/CoralClawFeature.java
index 17f603fe4508fd8b803a2e921a169eccf0d20585..76b32e7cb8ec952475a98478294806426ce5a667 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/CoralClawFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/CoralClawFeature.java
@@ -17,6 +17,14 @@ public class CoralClawFeature extends CoralFeature {
super(configCodec);
}
+ // Purpur start
+ @Override
+ public boolean place(FeaturePlaceContext<NoneFeatureConfiguration> context) {
+ this.random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureCoralClaw);
+ return super.place(context);
+ }
+ // Purpur end
+
@Override
protected boolean placeFeature(LevelAccessor world, Random random, BlockPos pos, BlockState state) {
if (!this.placeCoralBlock(world, random, pos, state)) {
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/CoralFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/CoralFeature.java
index 15b99d94b7d3e494a2fe4a205f9145b5fabbc125..650296b6526d06df0bca12262db90aec380d35f3 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/CoralFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/CoralFeature.java
@@ -18,9 +18,11 @@ public abstract class CoralFeature extends Feature<NoneFeatureConfiguration> {
super(configCodec);
}
+ protected Random random; // Purpur
+
@Override
public boolean place(FeaturePlaceContext<NoneFeatureConfiguration> context) {
- Random random = context.random();
+ //Random random = context.random(); // Purpur
WorldGenLevel worldGenLevel = context.level();
BlockPos blockPos = context.origin();
BlockState blockState = BlockTags.CORAL_BLOCKS.getRandomElement(random).defaultBlockState();
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/CoralMushroomFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/CoralMushroomFeature.java
index 8c2b3a037bac75fcadafd368ff8416f5de00df7f..85522d9c8ac4893aedb208b0f054ff0016808e56 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/CoralMushroomFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/CoralMushroomFeature.java
@@ -13,6 +13,14 @@ public class CoralMushroomFeature extends CoralFeature {
super(configCodec);
}
+ // Purpur start
+ @Override
+ public boolean place(FeaturePlaceContext<NoneFeatureConfiguration> context) {
+ this.random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureCoralMushroom);
+ return super.place(context);
+ }
+ // Purpur end
+
@Override
protected boolean placeFeature(LevelAccessor world, Random random, BlockPos pos, BlockState state) {
int i = random.nextInt(3) + 3;
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/CoralTreeFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/CoralTreeFeature.java
index 8d1985c96277a50c39858ee7754ed3d34d10d8cb..4cb63f98aca829154c67f354c64d7bef4af095cb 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/CoralTreeFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/CoralTreeFeature.java
@@ -16,6 +16,14 @@ public class CoralTreeFeature extends CoralFeature {
super(configCodec);
}
+ // Purpur start
+ @Override
+ public boolean place(FeaturePlaceContext<NoneFeatureConfiguration> context) {
+ this.random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureCoralTree);
+ return super.place(context);
+ }
+ // Purpur end
+
@Override
protected boolean placeFeature(LevelAccessor world, Random random, BlockPos pos, BlockState state) {
BlockPos.MutableBlockPos mutableBlockPos = pos.mutable();
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/DecoratedFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/DecoratedFeature.java
index ae11f1ecf23b38b84ab09f66796d1509a21bfbd8..2d102ea80d3f8e8aad0d57626450a7f30bb6c346 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/DecoratedFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/DecoratedFeature.java
@@ -21,7 +21,7 @@ public class DecoratedFeature extends Feature<DecoratedFeatureConfiguration> {
WorldGenLevel worldGenLevel = context.level();
DecoratedFeatureConfiguration decoratedFeatureConfiguration = context.config();
ChunkGenerator chunkGenerator = context.chunkGenerator();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureDecorated); // Purpur
BlockPos blockPos = context.origin();
ConfiguredFeature<?, ?> configuredFeature = decoratedFeatureConfiguration.feature.get();
decoratedFeatureConfiguration.decorator.getPositions(new DecorationContext(worldGenLevel, chunkGenerator), random, blockPos).forEach((blockPosx) -> {
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/DefaultFlowerFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/DefaultFlowerFeature.java
index 2bc983496d77058ecbb89d33c5614d798d321b85..4e715ba8c4cbffc681ec3c1256d286538a38bebd 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/DefaultFlowerFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/DefaultFlowerFeature.java
@@ -29,6 +29,7 @@ public class DefaultFlowerFeature extends AbstractFlowerFeature<RandomPatchConfi
@Override
public BlockState getRandomFlower(Random random, BlockPos pos, RandomPatchConfiguration config) {
+ random = getRnd(random, net.pl3x.purpur.PurpurConfig.seedFeatureFlower); // Purpur
return config.stateProvider.getState(random, pos);
}
}
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/DeltaFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/DeltaFeature.java
index fa0d751fbde63c739266495699d28154cd342f79..fb66f270b459919f885ddd09a1c2fa2957c8164d 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/DeltaFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/DeltaFeature.java
@@ -24,7 +24,7 @@ public class DeltaFeature extends Feature<DeltaFeatureConfiguration> {
@Override
public boolean place(FeaturePlaceContext<DeltaFeatureConfiguration> context) {
boolean bl = false;
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureDeltaFeature); // Purpur
WorldGenLevel worldGenLevel = context.level();
DeltaFeatureConfiguration deltaFeatureConfiguration = context.config();
BlockPos blockPos = context.origin();
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/DiskReplaceFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/DiskReplaceFeature.java
index b29719a0af670261073ef2a1d87ca255f9de095b..a957765736a2c49a58254fb6bedbc8f961811224 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/DiskReplaceFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/DiskReplaceFeature.java
@@ -11,6 +11,8 @@ public class DiskReplaceFeature extends BaseDiskFeature {
@Override
public boolean place(FeaturePlaceContext<DiskConfiguration> context) {
+ this.origin = context.origin(); // Purpur
+ this.random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureDisk); // Purpur
return !context.level().getFluidState(context.origin()).is(FluidTags.WATER) ? false : super.place(context);
}
}
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/DripstoneClusterFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/DripstoneClusterFeature.java
index eeda6ce19bef98f939a4ecd12e0e63c6bf6d3986..3f94aadc6216a83714be8af9e22ed56fb5bc1b93 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/DripstoneClusterFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/DripstoneClusterFeature.java
@@ -28,7 +28,7 @@ public class DripstoneClusterFeature extends Feature<DripstoneClusterConfigurati
WorldGenLevel worldGenLevel = context.level();
BlockPos blockPos = context.origin();
DripstoneClusterConfiguration dripstoneClusterConfiguration = context.config();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureDripstoneCluster); // Purpur
if (!DripstoneUtils.isEmptyOrWater(worldGenLevel, blockPos)) {
return false;
} else {
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/EndIslandFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/EndIslandFeature.java
index 59867e86bc6ee02098a420e74bd249f66d50e319..58c506f4a2fb9b45e78d59383757421a9b86d1f6 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/EndIslandFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/EndIslandFeature.java
@@ -16,7 +16,7 @@ public class EndIslandFeature extends Feature<NoneFeatureConfiguration> {
@Override
public boolean place(FeaturePlaceContext<NoneFeatureConfiguration> context) {
WorldGenLevel worldGenLevel = context.level();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureEndIsland); // Purpur
BlockPos blockPos = context.origin();
float f = (float)(random.nextInt(3) + 4);
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/Feature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/Feature.java
index 66f97b70985ed728eadcf837f25e81a256c2033b..6120409ab412c1237b44862ed1c402c855ededf0 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/Feature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/Feature.java
@@ -118,6 +118,21 @@ public abstract class Feature<FC extends FeatureConfiguration> {
return Registry.register(Registry.FEATURE, name, feature);
}
+ // Purpur start
+ @org.jetbrains.annotations.Nullable
+ private java.util.Random rnd;
+
+ protected java.util.Random getRnd(java.util.Random rand, int seed) {
+ if (seed == -1) {
+ return rand;
+ }
+ if(this.rnd == null) {
+ this.rnd = new java.util.Random(seed);
+ }
+ return this.rnd;
+ }
+ // Purpur end
+
public Feature(Codec<FC> configCodec) {
this.configuredCodec = configCodec.fieldOf("config").xmap((config) -> {
return new ConfiguredFeature<>(this, config);
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/FossilFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/FossilFeature.java
index 82ea6a21d5fe0853c8fe1ef245609f01e9dbadb7..5032d5d190835aa941dfe5a2203f5b22966f6f2f 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/FossilFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/FossilFeature.java
@@ -24,7 +24,7 @@ public class FossilFeature extends Feature<FossilFeatureConfiguration> {
@Override
public boolean place(FeaturePlaceContext<FossilFeatureConfiguration> context) {
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureFossil); // Purpur
WorldGenLevel worldGenLevel = context.level();
BlockPos blockPos = context.origin();
Rotation rotation = Rotation.getRandom(random);
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/GeodeFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/GeodeFeature.java
index 74a0adf4adf2b701126724e08bb72fa4e8e8560a..37756eb9e84ad8d91e6ede9b6c9264b2dc8371d5 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/GeodeFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/GeodeFeature.java
@@ -34,7 +34,7 @@ public class GeodeFeature extends Feature<GeodeConfiguration> {
@Override
public boolean place(FeaturePlaceContext<GeodeConfiguration> context) {
GeodeConfiguration geodeConfiguration = context.config();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureGeode); // Purpur
BlockPos blockPos = context.origin();
WorldGenLevel worldGenLevel = context.level();
int i = geodeConfiguration.minGenOffset;
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/GlowLichenFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/GlowLichenFeature.java
index f8e72b9e68e0ce7611005650bee24842099973a7..817c3117f1d7f0fe2d627e87444f71f8c8fd06df 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/GlowLichenFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/GlowLichenFeature.java
@@ -23,7 +23,7 @@ public class GlowLichenFeature extends Feature<GlowLichenConfiguration> {
public boolean place(FeaturePlaceContext<GlowLichenConfiguration> context) {
WorldGenLevel worldGenLevel = context.level();
BlockPos blockPos = context.origin();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureGlowLichen); // Purpur
GlowLichenConfiguration glowLichenConfiguration = context.config();
if (!isAirOrWater(worldGenLevel.getBlockState(blockPos))) {
return false;
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/GlowstoneFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/GlowstoneFeature.java
index df6229c8d2d8bc182d113fa1508da5a3948516e2..2a1337006f06f399dd8885c1b0380389c1dde493 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/GlowstoneFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/GlowstoneFeature.java
@@ -18,7 +18,7 @@ public class GlowstoneFeature extends Feature<NoneFeatureConfiguration> {
public boolean place(FeaturePlaceContext<NoneFeatureConfiguration> context) {
WorldGenLevel worldGenLevel = context.level();
BlockPos blockPos = context.origin();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureGlowstoneBlob); // Purpur
if (!worldGenLevel.isEmptyBlock(blockPos)) {
return false;
} else {
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/GrowingPlantFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/GrowingPlantFeature.java
index 6f0549c72d9fedae39da1427b6facbf938da5d3f..db22ef9d2a1529096b5b44cc76d909dfadc77e42 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/GrowingPlantFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/GrowingPlantFeature.java
@@ -17,7 +17,7 @@ public class GrowingPlantFeature extends Feature<GrowingPlantConfiguration> {
public boolean place(FeaturePlaceContext<GrowingPlantConfiguration> context) {
LevelAccessor levelAccessor = context.level();
GrowingPlantConfiguration growingPlantConfiguration = context.config();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureGrowingPlant); // Purpur
int i = growingPlantConfiguration.heightDistribution.getRandomValue(random).orElseThrow(IllegalStateException::new).sample(random);
BlockPos.MutableBlockPos mutableBlockPos = context.origin().mutable();
BlockPos.MutableBlockPos mutableBlockPos2 = mutableBlockPos.mutable().move(growingPlantConfiguration.direction);
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/HugeBrownMushroomFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/HugeBrownMushroomFeature.java
index 9261ca82851fb28ac17fc636bacd22cd02b1cbc5..e55594840a9cede00bc997ac667438a695acd74a 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/HugeBrownMushroomFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/HugeBrownMushroomFeature.java
@@ -15,6 +15,7 @@ public class HugeBrownMushroomFeature extends AbstractHugeMushroomFeature {
@Override
protected void makeCap(LevelAccessor world, Random random, BlockPos start, int y, BlockPos.MutableBlockPos mutable, HugeMushroomFeatureConfiguration config) {
+ random = getRnd(random, net.pl3x.purpur.PurpurConfig.seedFeatureHugeBrownMushroom); // Purpur
int i = config.foliageRadius;
for(int j = -i; j <= i; ++j) {
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/HugeFungusFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/HugeFungusFeature.java
index 44ae76882096cc6270a39754adf6070433c1e8d7..4f1cc232ec3e9a498308cf00749d7cda5ba60542 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/HugeFungusFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/HugeFungusFeature.java
@@ -24,7 +24,7 @@ public class HugeFungusFeature extends Feature<HugeFungusConfiguration> {
public boolean place(FeaturePlaceContext<HugeFungusConfiguration> context) {
WorldGenLevel worldGenLevel = context.level();
BlockPos blockPos = context.origin();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureHugeFungus); // Purpur
ChunkGenerator chunkGenerator = context.chunkGenerator();
HugeFungusConfiguration hugeFungusConfiguration = context.config();
Block block = hugeFungusConfiguration.validBaseState.getBlock();
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/HugeRedMushroomFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/HugeRedMushroomFeature.java
index c5e436fa3188bee2cd546a6bc59cdb6b90c5d816..27d4a21321729a52fb9879131cf413df12c1e25d 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/HugeRedMushroomFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/HugeRedMushroomFeature.java
@@ -15,6 +15,7 @@ public class HugeRedMushroomFeature extends AbstractHugeMushroomFeature {
@Override
protected void makeCap(LevelAccessor world, Random random, BlockPos start, int y, BlockPos.MutableBlockPos mutable, HugeMushroomFeatureConfiguration config) {
+ random = getRnd(random, net.pl3x.purpur.PurpurConfig.seedFeatureHugeRedMushroom); // Purpur
for(int i = y - 3; i <= y; ++i) {
int j = i < y ? config.foliageRadius : config.foliageRadius - 1;
int k = config.foliageRadius - 2;
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/IcePatchFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/IcePatchFeature.java
index 17b03939edeb0a51fdaa4cb5313a9b8e0c81471e..d415263abda0505acd0af16724a3501a0e00f7bc 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/IcePatchFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/IcePatchFeature.java
@@ -16,14 +16,19 @@ public class IcePatchFeature extends BaseDiskFeature {
@Override
public boolean place(FeaturePlaceContext<DiskConfiguration> context) {
WorldGenLevel worldGenLevel = context.level();
- ChunkGenerator chunkGenerator = context.chunkGenerator();
- Random random = context.random();
- DiskConfiguration diskConfiguration = context.config();
+ // Purpur start
+ //ChunkGenerator chunkGenerator = context.chunkGenerator();
+ this.random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureIcePatch); // Purpur
+ //DiskConfiguration diskConfiguration = context.config();
+ // Purpur end
BlockPos blockPos;
for(blockPos = context.origin(); worldGenLevel.isEmptyBlock(blockPos) && blockPos.getY() > worldGenLevel.getMinBuildHeight() + 2; blockPos = blockPos.below()) {
}
- return !worldGenLevel.getBlockState(blockPos).is(Blocks.SNOW_BLOCK) ? false : super.place(new FeaturePlaceContext<>(worldGenLevel, chunkGenerator, random, blockPos, diskConfiguration));
+ // Purpur start - lets not allocate _another_ context here...
+ this.origin = blockPos;
+ return !worldGenLevel.getBlockState(blockPos).is(Blocks.SNOW_BLOCK) ? false : super.place(context);
+ // Purpur end
}
}
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/IceSpikeFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/IceSpikeFeature.java
index a580c19c4d6f00472da0a229808c5962322e5b7f..1fbf9b071e4253b860e863d3b79dfe4079e453a4 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/IceSpikeFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/IceSpikeFeature.java
@@ -17,7 +17,7 @@ public class IceSpikeFeature extends Feature<NoneFeatureConfiguration> {
@Override
public boolean place(FeaturePlaceContext<NoneFeatureConfiguration> context) {
BlockPos blockPos = context.origin();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureIceSpike); // Purpur
WorldGenLevel worldGenLevel;
for(worldGenLevel = context.level(); worldGenLevel.isEmptyBlock(blockPos) && blockPos.getY() > worldGenLevel.getMinBuildHeight() + 2; blockPos = blockPos.below()) {
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/IcebergFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/IcebergFeature.java
index c12ce0d8e4e0e3caa7cb4a17787498a546d8bcca..0726174d6e1b4c4653ae53b25e22e36fb68f4cb3 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/IcebergFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/IcebergFeature.java
@@ -22,7 +22,7 @@ public class IcebergFeature extends Feature<BlockStateConfiguration> {
BlockPos blockPos = context.origin();
WorldGenLevel worldGenLevel = context.level();
blockPos = new BlockPos(blockPos.getX(), context.chunkGenerator().getSeaLevel(), blockPos.getZ());
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureIceberg); // Purpur
boolean bl = random.nextDouble() > 0.7D;
BlockState blockState = (context.config()).state;
double d = random.nextDouble() * 2.0D * Math.PI;
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/KelpFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/KelpFeature.java
index ecf431bffe7da1f1a82b054213a736ad0fa17029..54a41a1536ada31402cdfe428c02492c0cc4b6fb 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/KelpFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/KelpFeature.java
@@ -20,7 +20,7 @@ public class KelpFeature extends Feature<NoneFeatureConfiguration> {
int i = 0;
WorldGenLevel worldGenLevel = context.level();
BlockPos blockPos = context.origin();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureKelp); // Purpur
int j = worldGenLevel.getHeight(Heightmap.Types.OCEAN_FLOOR, blockPos.getX(), blockPos.getZ());
BlockPos blockPos2 = new BlockPos(blockPos.getX(), j, blockPos.getZ());
if (worldGenLevel.getBlockState(blockPos2).is(Blocks.WATER)) {
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/LakeFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/LakeFeature.java
index f3d9fc4b64089c5f406b346f92a2bcd00e98e370..5cc88872bf2eb54bb1ac04b1b837617a096b6f4f 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/LakeFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/LakeFeature.java
@@ -25,7 +25,7 @@ public class LakeFeature extends Feature<BlockStateConfiguration> {
public boolean place(FeaturePlaceContext<BlockStateConfiguration> context) {
BlockPos blockPos = context.origin();
WorldGenLevel worldGenLevel = context.level();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureLake); // Purpur
BlockStateConfiguration blockStateConfiguration;
for(blockStateConfiguration = context.config(); blockPos.getY() > worldGenLevel.getMinBuildHeight() + 5 && worldGenLevel.isEmptyBlock(blockPos); blockPos = blockPos.below()) {
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/LargeDripstoneFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/LargeDripstoneFeature.java
index 975e1f0fb37e1e289eba73cc6cb51adba7ba2667..523bbd94f4b83c0123873083267cf28fc64a2e33 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/LargeDripstoneFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/LargeDripstoneFeature.java
@@ -26,7 +26,7 @@ public class LargeDripstoneFeature extends Feature<LargeDripstoneConfiguration>
WorldGenLevel worldGenLevel = context.level();
BlockPos blockPos = context.origin();
LargeDripstoneConfiguration largeDripstoneConfiguration = context.config();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureLargeDripstone); // Purpur
if (!DripstoneUtils.isEmptyOrWater(worldGenLevel, blockPos)) {
return false;
} else {
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/MonsterRoomFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/MonsterRoomFeature.java
index d36b6208077254af5f0ebed8e8ce20fd45cbb79d..d60a6e06cd5730f1efbccde71834b0f1b619b66b 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/MonsterRoomFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/MonsterRoomFeature.java
@@ -34,7 +34,7 @@ public class MonsterRoomFeature extends Feature<NoneFeatureConfiguration> {
public boolean place(FeaturePlaceContext<NoneFeatureConfiguration> context) {
Predicate<BlockState> predicate = Feature.isReplaceable(BlockTags.FEATURES_CANNOT_REPLACE.getName());
BlockPos blockPos = context.origin();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureMonsterRoom); // Purpur
WorldGenLevel worldGenLevel = context.level();
int i = 3;
int j = random.nextInt(2) + 2;
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/NetherForestVegetationFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/NetherForestVegetationFeature.java
index c8af12a5989bb8d8800927c8b2d7988a5d26614c..3f90becb14be2cfd7467596da1b85ee4c8708421 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/NetherForestVegetationFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/NetherForestVegetationFeature.java
@@ -15,7 +15,8 @@ public class NetherForestVegetationFeature extends Feature<BlockPileConfiguratio
@Override
public boolean place(FeaturePlaceContext<BlockPileConfiguration> context) {
- return place(context.level(), context.random(), context.origin(), context.config(), 8, 4);
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureNetherFortressVegetation); // Purpur
+ return place(context.level(), random, context.origin(), context.config(), 8, 4); // Purpur
}
public static boolean place(LevelAccessor world, Random random, BlockPos pos, BlockPileConfiguration config, int i, int j) {
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/OreFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/OreFeature.java
index dbe7d624aaaa8455217a5397a66ef6964a3e210f..a6f6a5481d360f8259a0fec84be7183885937d58 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/OreFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/OreFeature.java
@@ -22,7 +22,7 @@ public class OreFeature extends Feature<OreConfiguration> {
@Override
public boolean place(FeaturePlaceContext<OreConfiguration> context) {
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureOre); // Purpur
BlockPos blockPos = context.origin();
WorldGenLevel worldGenLevel = context.level();
OreConfiguration oreConfiguration = context.config();
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/RandomBooleanSelectorFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/RandomBooleanSelectorFeature.java
index e7c0f1ae6b526e0f22bc9f9abc59e1dccc3cc063..b7fee9c4a5a3dc22e4a095d2d07b64252a83a608 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/RandomBooleanSelectorFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/RandomBooleanSelectorFeature.java
@@ -14,7 +14,7 @@ public class RandomBooleanSelectorFeature extends Feature<RandomBooleanFeatureCo
@Override
public boolean place(FeaturePlaceContext<RandomBooleanFeatureConfiguration> context) {
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureRandomBooleanSelector); // Purpur
RandomBooleanFeatureConfiguration randomBooleanFeatureConfiguration = context.config();
WorldGenLevel worldGenLevel = context.level();
ChunkGenerator chunkGenerator = context.chunkGenerator();
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/RandomPatchFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/RandomPatchFeature.java
index 8dfa0a29fdf9977d9b6dd062821effd7fba47719..22d99ef44b9dc6c0fb095ea32afb552410e59962 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/RandomPatchFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/RandomPatchFeature.java
@@ -17,7 +17,7 @@ public class RandomPatchFeature extends Feature<RandomPatchConfiguration> {
@Override
public boolean place(FeaturePlaceContext<RandomPatchConfiguration> context) {
RandomPatchConfiguration randomPatchConfiguration = context.config();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureRandomPatch); // Purpur
BlockPos blockPos = context.origin();
WorldGenLevel worldGenLevel = context.level();
BlockState blockState = randomPatchConfiguration.stateProvider.getState(random, blockPos);
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/RandomSelectorFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/RandomSelectorFeature.java
index 3188de86c094f2c820e8dad3086df37f867add34..bcfd697bda3521722576e4b1fcc327971820b5e7 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/RandomSelectorFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/RandomSelectorFeature.java
@@ -15,7 +15,7 @@ public class RandomSelectorFeature extends Feature<RandomFeatureConfiguration> {
@Override
public boolean place(FeaturePlaceContext<RandomFeatureConfiguration> context) {
RandomFeatureConfiguration randomFeatureConfiguration = context.config();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureRandomSelector); // Purpur
WorldGenLevel worldGenLevel = context.level();
ChunkGenerator chunkGenerator = context.chunkGenerator();
BlockPos blockPos = context.origin();
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/ReplaceBlobsFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/ReplaceBlobsFeature.java
index efc970a27c556c3b8da6727ffdfda71c90f12556..6634bc093a3308d3b9bd491456ac115062fba2e4 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/ReplaceBlobsFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/ReplaceBlobsFeature.java
@@ -20,7 +20,7 @@ public class ReplaceBlobsFeature extends Feature<ReplaceSphereConfiguration> {
public boolean place(FeaturePlaceContext<ReplaceSphereConfiguration> context) {
ReplaceSphereConfiguration replaceSphereConfiguration = context.config();
WorldGenLevel worldGenLevel = context.level();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureNetherrackReplaceBlobs); // Purpur
Block block = replaceSphereConfiguration.targetState.getBlock();
BlockPos blockPos = findTarget(worldGenLevel, context.origin().mutable().clamp(Direction.Axis.Y, worldGenLevel.getMinBuildHeight() + 1, worldGenLevel.getMaxBuildHeight() - 1), block);
if (blockPos == null) {
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/ReplaceBlockFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/ReplaceBlockFeature.java
index 72ed95adc043ba78979ba0518d975ff57b35d5e1..513ac0f8a98ae6e1ad6e554c2dd3b16888cb9b68 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/ReplaceBlockFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/ReplaceBlockFeature.java
@@ -16,9 +16,10 @@ public class ReplaceBlockFeature extends Feature<ReplaceBlockConfiguration> {
WorldGenLevel worldGenLevel = context.level();
BlockPos blockPos = context.origin();
ReplaceBlockConfiguration replaceBlockConfiguration = context.config();
+ java.util.Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureReplaceSingleBlock); // Purpur
for(OreConfiguration.TargetBlockState targetBlockState : replaceBlockConfiguration.targetStates) {
- if (targetBlockState.target.test(worldGenLevel.getBlockState(blockPos), context.random())) {
+ if (targetBlockState.target.test(worldGenLevel.getBlockState(blockPos), random)) { // Purpur
worldGenLevel.setBlock(blockPos, targetBlockState.state, 2);
break;
}
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/RootSystemFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/RootSystemFeature.java
index 0ca15ac28c198e96ac21208e3c6bd46377df9b3b..a0c0bd2a5173e6629aa1422efb5be79881acf440 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/RootSystemFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/RootSystemFeature.java
@@ -26,7 +26,7 @@ public class RootSystemFeature extends Feature<RootSystemConfiguration> {
if (!worldGenLevel.getBlockState(blockPos).isAir()) {
return false;
} else {
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureRootSystem); // Purpur
BlockPos blockPos2 = context.origin();
RootSystemConfiguration rootSystemConfiguration = context.config();
BlockPos.MutableBlockPos mutableBlockPos = blockPos2.mutable();
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/ScatteredOreFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/ScatteredOreFeature.java
index eb4abeee4009c8f271c51f6c711c03b7a7360937..eb8af78c3fa6bfd960644b419c4500bd37f9a8d4 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/ScatteredOreFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/ScatteredOreFeature.java
@@ -17,7 +17,7 @@ public class ScatteredOreFeature extends Feature<OreConfiguration> {
@Override
public boolean place(FeaturePlaceContext<OreConfiguration> context) {
WorldGenLevel worldGenLevel = context.level();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureScatteredOre); // Purpur
OreConfiguration oreConfiguration = context.config();
BlockPos blockPos = context.origin();
int i = random.nextInt(oreConfiguration.size + 1);
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/SeaPickleFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/SeaPickleFeature.java
index 5b1dd00cf379e07ac8770ab7b7ceb20a377fd586..415297785c83835333aef1da552cd510f2c8e4f7 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/SeaPickleFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/SeaPickleFeature.java
@@ -18,7 +18,7 @@ public class SeaPickleFeature extends Feature<CountConfiguration> {
@Override
public boolean place(FeaturePlaceContext<CountConfiguration> context) {
int i = 0;
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureSeaPickle); // Purpur
WorldGenLevel worldGenLevel = context.level();
BlockPos blockPos = context.origin();
int j = context.config().count().sample(random);
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/SeagrassFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/SeagrassFeature.java
index fc5a9fba1ecfa8850d31ba68e92c537e65dbed78..f913486542f0ca35cd36eb19f25918505dd2e70a 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/SeagrassFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/SeagrassFeature.java
@@ -19,7 +19,7 @@ public class SeagrassFeature extends Feature<ProbabilityFeatureConfiguration> {
@Override
public boolean place(FeaturePlaceContext<ProbabilityFeatureConfiguration> context) {
boolean bl = false;
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureSeagrass); // Purpur
WorldGenLevel worldGenLevel = context.level();
BlockPos blockPos = context.origin();
ProbabilityFeatureConfiguration probabilityFeatureConfiguration = context.config();
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/SimpleBlockFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/SimpleBlockFeature.java
index 1aaa0d7b73e7b89202b3cedd284c3b739d1e3091..7bcde212bc61d6c883b443f97b4a5ae4d3990f39 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/SimpleBlockFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/SimpleBlockFeature.java
@@ -17,8 +17,9 @@ public class SimpleBlockFeature extends Feature<SimpleBlockConfiguration> {
SimpleBlockConfiguration simpleBlockConfiguration = context.config();
WorldGenLevel worldGenLevel = context.level();
BlockPos blockPos = context.origin();
+ java.util.Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureSimpleBlock); // Purpur
if ((simpleBlockConfiguration.placeOn.isEmpty() || simpleBlockConfiguration.placeOn.contains(worldGenLevel.getBlockState(blockPos.below()))) && (simpleBlockConfiguration.placeIn.isEmpty() || simpleBlockConfiguration.placeIn.contains(worldGenLevel.getBlockState(blockPos))) && (simpleBlockConfiguration.placeUnder.isEmpty() || simpleBlockConfiguration.placeUnder.contains(worldGenLevel.getBlockState(blockPos.above())))) {
- BlockState blockState = simpleBlockConfiguration.toPlace.getState(context.random(), blockPos);
+ BlockState blockState = simpleBlockConfiguration.toPlace.getState(random, blockPos); // Purpur
if (blockState.canSurvive(worldGenLevel, blockPos)) {
if (blockState.getBlock() instanceof DoublePlantBlock) {
if (!worldGenLevel.isEmptyBlock(blockPos.above())) {
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/SimpleRandomSelectorFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/SimpleRandomSelectorFeature.java
index 51ddafe889ebd3a78eaa31c8f32db4b2931f5a20..60eae6fb250840e689172fb639d79670c501b7bc 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/SimpleRandomSelectorFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/SimpleRandomSelectorFeature.java
@@ -14,7 +14,7 @@ public class SimpleRandomSelectorFeature extends Feature<SimpleRandomFeatureConf
@Override
public boolean place(FeaturePlaceContext<SimpleRandomFeatureConfiguration> context) {
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureSimpleRandomSelector); // Purpur
SimpleRandomFeatureConfiguration simpleRandomFeatureConfiguration = context.config();
WorldGenLevel worldGenLevel = context.level();
BlockPos blockPos = context.origin();
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/SmallDripstoneFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/SmallDripstoneFeature.java
index 7fe7009538b392ccb7547d0268ac8a1a6f682270..eb8bda1c3f73c3c2727ab893daa8b00008b1c117 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/SmallDripstoneFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/SmallDripstoneFeature.java
@@ -18,7 +18,7 @@ public class SmallDripstoneFeature extends Feature<SmallDripstoneConfiguration>
public boolean place(FeaturePlaceContext<SmallDripstoneConfiguration> context) {
WorldGenLevel worldGenLevel = context.level();
BlockPos blockPos = context.origin();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureSmallDripstone); // Purpur
SmallDripstoneConfiguration smallDripstoneConfiguration = context.config();
if (!DripstoneUtils.isEmptyOrWater(worldGenLevel, blockPos)) {
return false;
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/SpikeFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/SpikeFeature.java
index c03bf5bdb67b00c75f9fcfead882c4d944282244..5ad051dd62968fb861a4ed2ad5426d6429184173 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/SpikeFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/SpikeFeature.java
@@ -36,7 +36,8 @@ public class SpikeFeature extends Feature<SpikeConfiguration> {
}
public static List<SpikeFeature.EndSpike> getSpikesForLevel(WorldGenLevel world) {
- Random random = new Random(world.getSeed());
+ int seed = net.pl3x.purpur.PurpurConfig.seedFeatureEndSpike; // Purpur
+ Random random = new Random(seed == -1 ? world.getSeed() : seed); // Purpur
long l = random.nextLong() & 65535L;
return SPIKE_CACHE.getUnchecked(l);
}
@@ -45,7 +46,7 @@ public class SpikeFeature extends Feature<SpikeConfiguration> {
public boolean place(FeaturePlaceContext<SpikeConfiguration> context) {
SpikeConfiguration spikeConfiguration = context.config();
WorldGenLevel worldGenLevel = context.level();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureEndSpike); // Purpur
BlockPos blockPos = context.origin();
List<SpikeFeature.EndSpike> list = spikeConfiguration.getSpikes();
if (list.isEmpty()) {
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/TreeFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/TreeFeature.java
index 0be9ce0734e3ba72893a7349bb9f83a94f4af30c..2f71e80f6c9d37a97d1d03b7a1d893c825b315fa 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/TreeFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/TreeFeature.java
@@ -76,6 +76,7 @@ public class TreeFeature extends Feature<TreeConfiguration> {
}
private boolean doPlace(WorldGenLevel world, Random random, BlockPos pos, BiConsumer<BlockPos, BlockState> trunkReplacer, BiConsumer<BlockPos, BlockState> foliageReplacer, TreeConfiguration config) {
+ random = getRnd(random, net.pl3x.purpur.PurpurConfig.seedFeatureTree); // Purpur
int i = config.trunkPlacer.getTreeHeight(random);
int j = config.foliagePlacer.foliageHeight(random, i, config);
int k = i - j;
@@ -88,8 +89,9 @@ public class TreeFeature extends Feature<TreeConfiguration> {
int m = this.getMaxFreeTreeHeight(world, i, pos, config);
if (m >= i || optionalInt.isPresent() && m >= optionalInt.getAsInt()) {
List<FoliagePlacer.FoliageAttachment> list = config.trunkPlacer.placeTrunk(world, trunkReplacer, random, m, pos, config);
+ final Random finalrandom = random; // Purpur
list.forEach((foliageAttachment) -> {
- config.foliagePlacer.createFoliage(world, foliageReplacer, random, config, m, foliageAttachment, j, l);
+ config.foliagePlacer.createFoliage(world, foliageReplacer, finalrandom, config, m, foliageAttachment, j, l); // Purpur
});
return true;
} else {
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/TwistingVinesFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/TwistingVinesFeature.java
index c4d51a31343b92f62742506d7add2154a0b23015..799127f0bb1a91d640af6f542dbe304428a99092 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/TwistingVinesFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/TwistingVinesFeature.java
@@ -18,7 +18,8 @@ public class TwistingVinesFeature extends Feature<NoneFeatureConfiguration> {
@Override
public boolean place(FeaturePlaceContext<NoneFeatureConfiguration> context) {
- return place(context.level(), context.random(), context.origin(), 8, 4, 8);
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureTwistingVines); // Purpur
+ return place(context.level(), random, context.origin(), 8, 4, 8); // Purpur
}
public static boolean place(LevelAccessor world, Random random, BlockPos pos, int horizontalSpread, int verticalSpread, int length) {
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/UnderwaterMagmaFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/UnderwaterMagmaFeature.java
index bd5466e532dc0f1b5a1df3bff3144d0bf7ff25f3..661680aa501dd57a228b7c4447969223592c88a8 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/UnderwaterMagmaFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/UnderwaterMagmaFeature.java
@@ -26,7 +26,7 @@ public class UnderwaterMagmaFeature extends Feature<UnderwaterMagmaConfiguration
WorldGenLevel worldGenLevel = context.level();
BlockPos blockPos = context.origin();
UnderwaterMagmaConfiguration underwaterMagmaConfiguration = context.config();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureUnderwaterMagma); // Purpur
OptionalInt optionalInt = getFloorY(worldGenLevel, blockPos, underwaterMagmaConfiguration);
if (!optionalInt.isPresent()) {
return false;
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/VegetationPatchFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/VegetationPatchFeature.java
index 62165c0f5d1eba8c2734356bec33998d9dadbd1b..d9b1d92e1bb0123d9f7847a79ed5aa71ce7054d8 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/VegetationPatchFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/VegetationPatchFeature.java
@@ -23,9 +23,15 @@ public class VegetationPatchFeature extends Feature<VegetationPatchConfiguration
@Override
public boolean place(FeaturePlaceContext<VegetationPatchConfiguration> context) {
+ // Purpur start
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureVegetationPatch);
+ return place0(context, random);
+ }
+ protected boolean place0(FeaturePlaceContext<VegetationPatchConfiguration> context, Random random) {
+ // Purpur end
WorldGenLevel worldGenLevel = context.level();
VegetationPatchConfiguration vegetationPatchConfiguration = context.config();
- Random random = context.random();
+ //Random random = context.random(); // Purpur
BlockPos blockPos = context.origin();
Predicate<BlockState> predicate = getReplaceableTag(vegetationPatchConfiguration);
int i = vegetationPatchConfiguration.xzRadius.sample(random) + 1;
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/WaterloggedVegetationPatchFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/WaterloggedVegetationPatchFeature.java
index 62506ae3a49b0507d2d492da3a9baf96fea64a25..565e74a8314357a8e6e1a89c830011868d28c2a2 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/WaterloggedVegetationPatchFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/WaterloggedVegetationPatchFeature.java
@@ -19,6 +19,14 @@ public class WaterloggedVegetationPatchFeature extends VegetationPatchFeature {
super(configCodec);
}
+ // Purpur start
+ @Override
+ public boolean place(FeaturePlaceContext<VegetationPatchConfiguration> context) {
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureWaterloggedVegetationPatch); // Purpur
+ return place0(context, random);
+ }
+ // Purpur end
+
@Override
protected Set<BlockPos> placeGroundPatch(WorldGenLevel world, VegetationPatchConfiguration config, Random random, BlockPos pos, Predicate<BlockState> replaceable, int radiusX, int radiusZ) {
Set<BlockPos> set = super.placeGroundPatch(world, config, random, pos, replaceable, radiusX, radiusZ);
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/WeepingVinesFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/WeepingVinesFeature.java
index ed3944a60d09495eb424dd11d00e8c3585177d51..fcf25cc905ece0213a0eb6365a0a57566ad29c9c 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/WeepingVinesFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/WeepingVinesFeature.java
@@ -23,7 +23,7 @@ public class WeepingVinesFeature extends Feature<NoneFeatureConfiguration> {
public boolean place(FeaturePlaceContext<NoneFeatureConfiguration> context) {
WorldGenLevel worldGenLevel = context.level();
BlockPos blockPos = context.origin();
- Random random = context.random();
+ Random random = getRnd(context.random(), net.pl3x.purpur.PurpurConfig.seedFeatureWeepingVines); // Purpur
if (!worldGenLevel.isEmptyBlock(blockPos)) {
return false;
} else {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index a6aa607e5b085fdcddab8aa29258be0ba4aa1ac8..ac1c4d984928cd284183b4ff713155b2bbbdcfbe 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -176,6 +176,128 @@ public class PurpurConfig {
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
}
+ public static int seedFeatureBamboo = -1;
+ public static int seedFeatureBasaltColumns = -1;
+ public static int seedFeatureBasaltPillar = -1;
+ public static int seedFeatureBlockPile = -1;
+ public static int seedFeatureBlueIce = -1;
+ public static int seedFeatureBonusChest = -1;
+ public static int seedFeatureChorusPlant = -1;
+ public static int seedFeatureCoralClaw = -1;
+ public static int seedFeatureCoralMushroom = -1;
+ public static int seedFeatureCoralTree = -1;
+ public static int seedFeatureDecorated = -1;
+ public static int seedFeatureDeltaFeature = -1;
+ public static int seedFeatureDisk = -1;
+ public static int seedFeatureDripstoneCluster = -1;
+ public static int seedFeatureEndIsland = -1;
+ public static int seedFeatureEndSpike = -1;
+ public static int seedFeatureFlower = -1;
+ public static int seedFeatureForestRock = -1;
+ public static int seedFeatureFossil = -1;
+ public static int seedFeatureGeode = -1;
+ public static int seedFeatureGlowLichen = -1;
+ public static int seedFeatureGlowstoneBlob = -1;
+ public static int seedFeatureGrowingPlant = -1;
+ public static int seedFeatureHugeBrownMushroom = -1;
+ public static int seedFeatureHugeFungus = -1;
+ public static int seedFeatureHugeRedMushroom = -1;
+ public static int seedFeatureIcePatch = -1;
+ public static int seedFeatureIceSpike = -1;
+ public static int seedFeatureIceberg = -1;
+ public static int seedFeatureKelp = -1;
+ public static int seedFeatureLake = -1;
+ public static int seedFeatureLargeDripstone = -1;
+ public static int seedFeatureMonsterRoom = -1;
+ public static int seedFeatureNetherFortressVegetation = -1;
+ public static int seedFeatureNetherrackReplaceBlobs = -1;
+ public static int seedFeatureOre = -1;
+ public static int seedFeatureRandomBooleanSelector = -1;
+ public static int seedFeatureRandomPatch = -1;
+ public static int seedFeatureRandomSelector = -1;
+ public static int seedFeatureReplaceSingleBlock = -1;
+ public static int seedFeatureRootSystem = -1;
+ public static int seedFeatureScatteredOre = -1;
+ public static int seedFeatureSeaPickle = -1;
+ public static int seedFeatureSeagrass = -1;
+ public static int seedFeatureSimpleBlock = -1;
+ public static int seedFeatureSimpleRandomSelector = -1;
+ public static int seedFeatureSmallDripstone = -1;
+ public static int seedFeatureTree = -1;
+ public static int seedFeatureTwistingVines = -1;
+ public static int seedFeatureUnderwaterMagma = -1;
+ public static int seedFeatureVegetationPatch = -1;
+ public static int seedFeatureWaterloggedVegetationPatch = -1;
+ public static int seedFeatureWeepingVines = -1;
+ private static void seedSettings() {
+ if (version < 14) {
+ int oldValue = getInt("settings.seed.dungeon", -1);
+ set("settings.seed.feature.monster_room", oldValue);
+ set("settings.seed.dungeon", null);
+ oldValue = getInt("settings.seed.end-spike", -1);
+ set("settings.seed.feature.end_spike", oldValue);
+ set("settings.seed.end-spike", null);
+ oldValue = getInt("settings.seed.geode", -1);
+ set("settings.seed.feature.geode", oldValue);
+ set("settings.seed.geode", null);
+ }
+ seedFeatureBamboo = getInt("settings.seed.feature.bamboo", seedFeatureBamboo);
+ seedFeatureBasaltColumns = getInt("settings.seed.feature.basalt_columns", seedFeatureBasaltColumns);
+ seedFeatureBasaltPillar = getInt("settings.seed.feature.basalt_pillar", seedFeatureBasaltPillar);
+ seedFeatureBlockPile = getInt("settings.seed.feature.block_pile", seedFeatureBlockPile);
+ seedFeatureBlueIce = getInt("settings.seed.feature.blue_ice", seedFeatureBlueIce);
+ seedFeatureBonusChest = getInt("settings.seed.feature.bonus_chest", seedFeatureBonusChest);
+ seedFeatureChorusPlant = getInt("settings.seed.feature.chorus_plant", seedFeatureChorusPlant);
+ seedFeatureCoralClaw = getInt("settings.seed.feature.coral_claw", seedFeatureCoralClaw);
+ seedFeatureCoralMushroom = getInt("settings.seed.feature.coral_mushroom", seedFeatureCoralMushroom);
+ seedFeatureCoralTree = getInt("settings.seed.feature.coral_tree", seedFeatureCoralTree);
+ seedFeatureDecorated = getInt("settings.seed.feature.decorated", seedFeatureDecorated);
+ seedFeatureDeltaFeature = getInt("settings.seed.feature.delta_feature", seedFeatureDeltaFeature);
+ seedFeatureDisk = getInt("settings.seed.feature.disk", seedFeatureDisk);
+ seedFeatureDripstoneCluster = getInt("settings.seed.feature.dripstone_cluster", seedFeatureDripstoneCluster);
+ seedFeatureEndIsland = getInt("settings.seed.feature.end_island", seedFeatureEndIsland);
+ seedFeatureEndSpike = getInt("settings.seed.feature.end_spike", seedFeatureEndSpike);
+ seedFeatureFlower = getInt("settings.seed.feature.flower", seedFeatureFlower);
+ seedFeatureForestRock = getInt("settings.seed.feature.forest_rock", seedFeatureForestRock);
+ seedFeatureFossil = getInt("settings.seed.feature.fossil", seedFeatureFossil);
+ seedFeatureGeode = getInt("settings.seed.feature.geode", seedFeatureGeode);
+ seedFeatureGlowLichen = getInt("settings.seed.feature.glow_lichen", seedFeatureGlowLichen);
+ seedFeatureGlowstoneBlob = getInt("settings.seed.feature.glowstone_blob", seedFeatureGlowstoneBlob);
+ seedFeatureGrowingPlant = getInt("settings.seed.feature.growing_plant", seedFeatureGrowingPlant);
+ seedFeatureHugeBrownMushroom = getInt("settings.seed.feature.huge_brown_mushroom", seedFeatureHugeBrownMushroom);
+ seedFeatureHugeFungus = getInt("settings.seed.feature.huge_fungus", seedFeatureHugeFungus);
+ seedFeatureHugeRedMushroom = getInt("settings.seed.feature.huge_red_mushroom", seedFeatureHugeRedMushroom);
+ seedFeatureIcePatch = getInt("settings.seed.feature.ice_patch", seedFeatureIcePatch);
+ seedFeatureIceSpike = getInt("settings.seed.feature.ice_spike", seedFeatureIceSpike);
+ seedFeatureIceberg = getInt("settings.seed.feature.iceberg", seedFeatureIceberg);
+ seedFeatureKelp = getInt("settings.seed.feature.kelp", seedFeatureKelp);
+ seedFeatureLake = getInt("settings.seed.feature.lake", seedFeatureLake);
+ seedFeatureLargeDripstone = getInt("settings.seed.feature.large_dripstone", seedFeatureLargeDripstone);
+ seedFeatureMonsterRoom = getInt("settings.seed.feature.monster_room", seedFeatureMonsterRoom);
+ seedFeatureNetherFortressVegetation = getInt("settings.seed.feature.nether_forest_vegetation", seedFeatureNetherFortressVegetation);
+ seedFeatureNetherrackReplaceBlobs = getInt("settings.seed.feature.netherrack_replace_blobs", seedFeatureNetherrackReplaceBlobs);
+ seedFeatureOre = getInt("settings.seed.feature.ore", seedFeatureOre);
+ seedFeatureRandomBooleanSelector = getInt("settings.seed.feature.random_boolean_selector", seedFeatureRandomBooleanSelector);
+ seedFeatureRandomPatch = getInt("settings.seed.feature.random_patch", seedFeatureRandomPatch);
+ seedFeatureRandomSelector = getInt("settings.seed.feature.random_selector", seedFeatureRandomSelector);
+ seedFeatureReplaceSingleBlock = getInt("settings.seed.feature.replace_single_block", seedFeatureReplaceSingleBlock);
+ seedFeatureRootSystem = getInt("settings.seed.feature.root_system", seedFeatureRootSystem);
+ seedFeatureScatteredOre = getInt("settings.seed.feature.scattered_ore", seedFeatureScatteredOre);
+ seedFeatureSeaPickle = getInt("settings.seed.feature.sea_pickle", seedFeatureSeaPickle);
+ seedFeatureSeagrass = getInt("settings.seed.feature.seagrass", seedFeatureSeagrass);
+ seedFeatureSimpleBlock = getInt("settings.seed.feature.simple_block", seedFeatureSimpleBlock);
+ seedFeatureSimpleRandomSelector = getInt("settings.seed.feature.simple_random_selector", seedFeatureSimpleRandomSelector);
+ seedFeatureSmallDripstone = getInt("settings.seed.feature.small_dripstone", seedFeatureSmallDripstone);
+ seedFeatureTree = getInt("settings.seed.feature.tree", seedFeatureTree);
+ seedFeatureTwistingVines = getInt("settings.seed.feature.twisting_vines", seedFeatureTwistingVines);
+ seedFeatureUnderwaterMagma = getInt("settings.seed.feature.underwater_magma", seedFeatureUnderwaterMagma);
+ seedFeatureVegetationPatch = getInt("settings.seed.feature.vegetation_patch", seedFeatureVegetationPatch);
+ seedFeatureWaterloggedVegetationPatch = getInt("settings.seed.feature.waterlogged_vegetation_patch", seedFeatureWaterloggedVegetationPatch);
+ seedFeatureWeepingVines = getInt("settings.seed.feature.weeping_vines", seedFeatureWeepingVines);
+ // hide these from timings report
+ if (!TimingsManager.hiddenConfigs.contains("settings.seed")) TimingsManager.hiddenConfigs.add("settings.seed");
+ }
+
public static String serverModName = "Purpur";
private static void serverModName() {
serverModName = getString("settings.server-mod-name", serverModName);

View File

@@ -117,10 +117,10 @@ index f8e58d9f71703139a736d93e7f1996e027a29444..d3c8fd8399629efb8bcbaf7d9a0c4334
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 15ce3d3f1f95f232203f5fe10a754c21ae88f729..568e119f599397b8bd5c5e41603f692a8fc848f5 100644
index 1394efa4641a0ee15af706386a45c6013060d265..41e78e5229f225665733308490e1d23bfd37ce61 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -371,6 +371,15 @@ public class PurpurConfig {
@@ -249,6 +249,15 @@ public class PurpurConfig {
allowWaterPlacementInTheEnd = getBoolean("settings.allow-water-placement-in-the-end", allowWaterPlacementInTheEnd);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Short enderman height
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
index 2b356fed99df2bd15ba2fc6963df7c219b6f0e07..cbf57a7e8c312ef0906743a84e00f8f8f9f7a305 100644
index 20094345f90dba666902a8694035b47e0606e02c..88fcd673e36336b99e3cef27e290532f49acbca3 100644
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
@@ -280,7 +280,8 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
@@ -31,10 +31,10 @@ index a36313c321f9057350a9edb8b0959fd49a8e21a3..10c3a0c49579fbd9f1fe7ec82eebd42b
if (this.tryEscape(com.destroystokyo.paper.event.entity.EndermanEscapeEvent.Reason.INDIRECT)) { // Paper start
for (int i = 0; i < 64; ++i) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 316ac05a6d0dde3f2a192d4fbdbe90fbf58f7d79..d7dec624a7ea4b3a977728f42bcb78210dcd64ec 100644
index 41e78e5229f225665733308490e1d23bfd37ce61..4c950f90963b80acc6956008f7636248f09f6c7a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -361,6 +361,12 @@ public class PurpurConfig {
@@ -239,6 +239,12 @@ public class PurpurConfig {
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
}

View File

@@ -18,10 +18,10 @@ index c07b5d1f1ef8b5e6026c7555d476880c8802d6c5..068f1b184a3694603f564d49fa45d5ce
private final LevelAccessor level;
private final Direction.Axis axis;
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index d7dec624a7ea4b3a977728f42bcb78210dcd64ec..2dbdd6e4feb38bc67f1258bc9ef72c349bef6807 100644
index 4c950f90963b80acc6956008f7636248f09f6c7a..eee9f3091b2fa5368655db232670a84ed2703193 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -329,6 +329,7 @@ public class PurpurConfig {
@@ -207,6 +207,7 @@ public class PurpurConfig {
public static int barrelRows = 3;
public static boolean enderChestSixRows = false;
public static boolean enderChestPermissionRows = false;
@@ -29,7 +29,7 @@ index d7dec624a7ea4b3a977728f42bcb78210dcd64ec..2dbdd6e4feb38bc67f1258bc9ef72c34
private static void blockSettings() {
if (version < 3) {
boolean oldValue = getBoolean("settings.barrel.packed-barrels", true);
@@ -359,6 +360,7 @@ public class PurpurConfig {
@@ -237,6 +238,7 @@ public class PurpurConfig {
enderChestSixRows = getBoolean("settings.blocks.ender_chest.six-rows", enderChestSixRows);
org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27);
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);

View File

@@ -17,10 +17,10 @@ index 3aece8245060dd1ba269c08d226c84247a6f0a83..6763d0b96c83d1b462999f525bf1f31c
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 2dbdd6e4feb38bc67f1258bc9ef72c349bef6807..e7215ede4286ee5a1047d8c94b0c42f3dfae9dcf 100644
index eee9f3091b2fa5368655db232670a84ed2703193..af299caa01193a6fa76656814164b0c5fbeec350 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -363,6 +363,16 @@ public class PurpurConfig {
@@ -241,6 +241,16 @@ public class PurpurConfig {
cryingObsidianValidForPortalFrame = getBoolean("settings.blocks.crying_obsidian.valid-for-portal-frame", cryingObsidianValidForPortalFrame);
}

View File

@@ -33,10 +33,10 @@ index c557bee52a3f136696bb55853622b03220735109..5b0647a8b8d2dd8a44b38c378312ad91
if (flag5) {
if (i > 0) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 89ad1c69456fb4aaf2ab8742c76343b30b74ecd0..c763fce31b074d396a9134c5412bce77a9625c9a 100644
index 18059a30b53f566dd1d2ed3af1460e5672d6e32f..b5e873f8693442f20eb5d67f22c4f96cac54f461 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -968,7 +968,7 @@ public class CraftEventFactory {
@@ -972,7 +972,7 @@ public class CraftEventFactory {
} else {
damageCause = DamageCause.ENTITY_EXPLOSION;
}
@@ -45,7 +45,7 @@ index 89ad1c69456fb4aaf2ab8742c76343b30b74ecd0..c763fce31b074d396a9134c5412bce77
damager.processClick(InteractionHand.MAIN_HAND); // Purpur
}
event.setCancelled(cancelled);
@@ -1049,7 +1049,7 @@ public class CraftEventFactory {
@@ -1053,7 +1053,7 @@ public class CraftEventFactory {
} else {
throw new IllegalStateException(String.format("Unhandled damage of %s by %s from %s", entity, damager.getHandle(), source.msgId));
}
@@ -54,7 +54,7 @@ index 89ad1c69456fb4aaf2ab8742c76343b30b74ecd0..c763fce31b074d396a9134c5412bce77
event.setCancelled(cancelled);
CraftEventFactory.callEvent(event);
if (!event.isCancelled()) {
@@ -1106,7 +1106,7 @@ public class CraftEventFactory {
@@ -1110,7 +1110,7 @@ public class CraftEventFactory {
private static EntityDamageEvent callEntityDamageEvent(Entity damager, Entity damagee, DamageCause cause, Map<DamageModifier, Double> modifiers, Map<DamageModifier, Function<? super Double, Double>> modifierFunctions, boolean cancelled) {
EntityDamageEvent event;
if (damager != null) {

View File

@@ -20,10 +20,10 @@ index a0dc380e90415de9068ea408d62a1605c82631df..60fd566f7e1499ecf2ad91216a667f12
itemStack.setCount(1);
ItemEntity itemEntity2 = serverPlayer.drop(itemStack, false, false, true); // Paper - Fix duplicating /give items on item drop cancel
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index e7215ede4286ee5a1047d8c94b0c42f3dfae9dcf..76e84ae0a91808a40b6cfe888134de07c87087c6 100644
index af299caa01193a6fa76656814164b0c5fbeec350..8323b10a6ab17f56c6e5d1ad2cee9ebc7ad403de 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -326,6 +326,11 @@ public class PurpurConfig {
@@ -204,6 +204,11 @@ public class PurpurConfig {
useAlternateKeepAlive = getBoolean("settings.use-alternate-keepalive", useAlternateKeepAlive);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Phantom flames on swoop
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index c55aba456aa144e58fc35877c61eff309eaa391f..c39e2d05fa81279a684532ee796880b1345e8c1c 100644
index 59033a5c28f672089fe3ad846775753ae90f9ad9..a575649cff83df5c0888ba48610ece084cacaaa1 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -227,6 +227,7 @@ public class Phantom extends FlyingMob implements Enemy {

View File

@@ -17,7 +17,7 @@ index 42deff516bd363d0882b441fa6928ac7eecbfccc..386e9ad013369633e2be543b9281e5a5
if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 023566ddf2b1910dc90955289baff3bb4404abb7..807269b3fc6a1fe7cdbaef6f5336ee40e988505b 100644
index 5f1f6c43a155956298ac57acf54773728cb1215b..dd4be57611028acde485bc03640e83e07b0bd34f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1134,6 +1134,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -105,10 +105,10 @@ index e17c61e3b807dbc1a7bca4952349145617204154..cf016f139895690d5a0e0ef2709e31ea
entityplayer.awardStat(Stats.LEAVE_GAME);
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 76e84ae0a91808a40b6cfe888134de07c87087c6..624af72fbef2255c7a164a04cf795475433329fd 100644
index 8323b10a6ab17f56c6e5d1ad2cee9ebc7ad403de..e4e5b2cef7bcbb4e9411f78aefbdf2486e1658e8 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -331,6 +331,29 @@ public class PurpurConfig {
@@ -209,6 +209,29 @@ public class PurpurConfig {
disableGiveCommandDrops = getBoolean("settings.disable-give-dropping", disableGiveCommandDrops);
}

View File

@@ -36,7 +36,7 @@ index 3d73f44edca1b13a98f858ae0c1fd0bc79055a12..c0ab928ecff6aea1544406576e689979
private boolean hasNewCollision(final ServerLevel world, final Entity entity, final AABB oldBox, final AABB newBox) {
final List<AABB> collisions = io.papermc.paper.util.CachedLists.getTempCollisionList();
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index a81a42ea6f904f19271ed529a19635503e66ac69..9e445948bd15d94ed74638ed814fa1abf7bacf1c 100644
index e4e5b2cef7bcbb4e9411f78aefbdf2486e1658e8..9b688f88e319d59724d923a1e2631879c3104ef4 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -165,6 +165,7 @@ public class PurpurConfig {
@@ -54,7 +54,7 @@ index a81a42ea6f904f19271ed529a19635503e66ac69..9e445948bd15d94ed74638ed814fa1ab
+ dontRunWithScissors = getString("settings.messages.dont-run-with-scissors", dontRunWithScissors);
}
public static int seedFeatureBamboo = -1;
public static String serverModName = "Purpur";
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index bc81ceaef6ac2da472c49a74870d5bfd74ad0c3f..d51e861fe8ffab512ef42c2bde7f316b6a231101 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java

View File

@@ -65,10 +65,10 @@ index 6f6106ca4d74d50a7b74b086adc96c58c7906cb6..d6417c1e77ac8823e18a179dc9f61757
public abstract boolean canEnchant(Item item);
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 23f896ab6a58668c61f753c58142d5836644383b..52633405edabea5d8d457f05f5b753ee940cd40d 100644
index 9b688f88e319d59724d923a1e2631879c3104ef4..04d307b09a03f67a3b2fe78be9470a8d3bb0b424 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -394,6 +394,7 @@ public class PurpurConfig {
@@ -272,6 +272,7 @@ public class PurpurConfig {
}
public static boolean allowInfinityMending = false;
@@ -76,7 +76,7 @@ index 23f896ab6a58668c61f753c58142d5836644383b..52633405edabea5d8d457f05f5b753ee
private static void enchantmentSettings() {
if (version < 5) {
boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false);
@@ -401,6 +402,7 @@ public class PurpurConfig {
@@ -279,6 +280,7 @@ public class PurpurConfig {
set("settings.enchantment.allow-infinite-and-mending-together", null);
}
allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending);

View File

@@ -75,10 +75,10 @@ index d1b4fe830170ddee2b6f39eba29e7068e6ae37a3..115f8eb919e90bc4a79db1d0f7875a31
this.getOrCreateTag().put(key, tag);
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 52633405edabea5d8d457f05f5b753ee940cd40d..af4573d733b5f6f63062a7309560522bd26dd9a4 100644
index 04d307b09a03f67a3b2fe78be9470a8d3bb0b424..53a54fea80099e8e97f17ba3fc2445f02364bb35 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -395,6 +395,7 @@ public class PurpurConfig {
@@ -273,6 +273,7 @@ public class PurpurConfig {
public static boolean allowInfinityMending = false;
public static boolean allowCrossbowInfinity = false;
@@ -86,7 +86,7 @@ index 52633405edabea5d8d457f05f5b753ee940cd40d..af4573d733b5f6f63062a7309560522b
private static void enchantmentSettings() {
if (version < 5) {
boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false);
@@ -403,6 +404,7 @@ public class PurpurConfig {
@@ -281,6 +282,7 @@ public class PurpurConfig {
}
allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending);
allowCrossbowInfinity = getBoolean("settings.enchantment.allow-infinity-on-crossbow", allowCrossbowInfinity);

Some files were not shown because too many files have changed in this diff Show More