Random small stuff

This commit is contained in:
Noah van der Aa
2024-12-14 14:31:00 +01:00
parent 017359bc0f
commit 729c6e5369
7 changed files with 52 additions and 64 deletions

View File

@@ -0,0 +1,10 @@
--- a/net/minecraft/world/level/levelgen/feature/treedecorators/CocoaDecorator.java
+++ b/net/minecraft/world/level/levelgen/feature/treedecorators/CocoaDecorator.java
@@ -26,6 +_,7 @@
@Override
public void place(TreeDecorator.Context context) {
+ if (context.logs().isEmpty()) return; // Paper - Fix crash when trying to generate without logs
RandomSource randomSource = context.random();
if (!(randomSource.nextFloat() >= this.probability)) {
List<BlockPos> list = context.logs();

View File

@@ -0,0 +1,20 @@
--- a/net/minecraft/world/level/storage/loot/functions/ExplorationMapFunction.java
+++ b/net/minecraft/world/level/storage/loot/functions/ExplorationMapFunction.java
@@ -89,7 +_,16 @@
Vec3 vec3 = context.getOptionalParameter(LootContextParams.ORIGIN);
if (vec3 != null) {
ServerLevel level = context.getLevel();
- BlockPos blockPos = level.findNearestMapStructure(this.destination, BlockPos.containing(vec3), this.searchRadius, this.skipKnownStructures);
+ // Paper start - Configurable cartographer treasure maps
+ if (!level.paperConfig().environment.treasureMaps.enabled) {
+ /*
+ * NOTE: I fear users will just get a plain map as their "treasure"
+ * This is preferable to disrespecting the config.
+ */
+ return stack;
+ }
+ // Paper end - Configurable cartographer treasure maps
+ BlockPos blockPos = level.findNearestMapStructure(this.destination, BlockPos.containing(vec3), this.searchRadius, !serverLevel.paperConfig().environment.treasureMaps.findAlreadyDiscoveredLootTable.or(!this.skipKnownStructures)); // Paper - Configurable cartographer treasure maps
if (blockPos != null) {
ItemStack itemStack = MapItem.create(level, blockPos.getX(), blockPos.getZ(), this.zoom, true, true);
MapItem.renderBiomePreviewMap(level, itemStack);