mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 17:07:43 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: 7232d8f2a EntityLoadCrossbowEvent#shouldConsumeItem 4740bd6c8 Mark PlayerInventory#getItem as nullable bd9ace578 Add a config option to limit the number of entities of each type to load/save in a chunk (#4792) 6bafeb5a9 Move logic from last patch into correct place 9668118fd disable entity ticking flag after watchdog obliteration
65 lines
3.6 KiB
Diff
65 lines
3.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Nahuel <nahueldolores@hotmail.com>
|
|
Date: Sat, 9 Jan 2021 15:36:59 +0100
|
|
Subject: [PATCH] Add StructureGenerateEvent
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
Co-authored-by: Mariell Hoversholm <proximyst@proximyst.com>
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/ChunkGenerator.java b/src/main/java/net/minecraft/server/ChunkGenerator.java
|
|
index 9a6fef215052f9c513b23024968995c97863a453..a26616d479e79729cbf4838df90612f074a47a04 100644
|
|
--- a/src/main/java/net/minecraft/server/ChunkGenerator.java
|
|
+++ b/src/main/java/net/minecraft/server/ChunkGenerator.java
|
|
@@ -234,6 +234,14 @@ public abstract class ChunkGenerator {
|
|
if (structuresettingsfeature != null) {
|
|
StructureStart<?> structurestart1 = structurefeature.a(iregistrycustom, this, this.b, definedstructuremanager, i, chunkcoordintpair, biomebase, j, structuresettingsfeature);
|
|
|
|
+ // Purpur start
|
|
+ if (new net.pl3x.purpur.event.world.StructureGenerateEvent(
|
|
+ structuremanager.getWorld().getWorld(),
|
|
+ org.bukkit.StructureType.getStructureTypes().get(structurefeature.getFeature().getRegistryKey().toLowerCase()),
|
|
+ chunkcoordintpair.x,
|
|
+ chunkcoordintpair.z
|
|
+ ).callEvent())
|
|
+ // Purpur end
|
|
structuremanager.a(SectionPosition.a(ichunkaccess.getPos(), 0), structurefeature.d, structurestart1, ichunkaccess);
|
|
}
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/StructureFeature.java b/src/main/java/net/minecraft/server/StructureFeature.java
|
|
index 8e3c0c3783b767c2ba603b3b50200ac76a7fc33e..379665ae55e76afb03b20d1b81c57347af1137db 100644
|
|
--- a/src/main/java/net/minecraft/server/StructureFeature.java
|
|
+++ b/src/main/java/net/minecraft/server/StructureFeature.java
|
|
@@ -11,7 +11,7 @@ public class StructureFeature<FC extends WorldGenFeatureConfiguration, F extends
|
|
}, StructureGenerator::h);
|
|
public static final Codec<Supplier<StructureFeature<?, ?>>> b = RegistryFileCodec.a(IRegistry.av, StructureFeature.a);
|
|
public static final Codec<List<Supplier<StructureFeature<?, ?>>>> c = RegistryFileCodec.b(IRegistry.av, StructureFeature.a);
|
|
- public final F d;
|
|
+ public final F d; public final F getFeature() { return this.d; } // Purpur - OBFHELPER
|
|
public final FC e;
|
|
|
|
public StructureFeature(F f0, FC fc) {
|
|
diff --git a/src/main/java/net/minecraft/server/StructureGenerator.java b/src/main/java/net/minecraft/server/StructureGenerator.java
|
|
index a62c87bceab2c9700a7b3925f208b0ffa2b9b393..8fc283f014783b76afda83097201bb7938a1f9fa 100644
|
|
--- a/src/main/java/net/minecraft/server/StructureGenerator.java
|
|
+++ b/src/main/java/net/minecraft/server/StructureGenerator.java
|
|
@@ -235,6 +235,7 @@ public abstract class StructureGenerator<C extends WorldGenFeatureConfiguration>
|
|
|
|
public abstract StructureGenerator.a<C> a();
|
|
|
|
+ public final String getRegistryKey() { return this.i(); } // Purpur - OBFHELPER
|
|
public String i() {
|
|
return (String) StructureGenerator.a.inverse().get(this);
|
|
}
|