Skip to content
This repository has been archived by the owner on Feb 27, 2024. It is now read-only.

Commit

Permalink
Fixed #58
Browse files Browse the repository at this point in the history
  • Loading branch information
TonimatasDEV committed Feb 11, 2024
1 parent f109195 commit 7cc6843
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 12 deletions.
32 changes: 24 additions & 8 deletions patches/minecraft/net/minecraft/world/entity/EntityType.java.patch
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
--- a/net/minecraft/world/entity/EntityType.java
+++ b/net/minecraft/world/entity/EntityType.java
@@ -6,6 +_,7 @@
import java.util.Optional;
import java.util.Spliterator;
import java.util.UUID;
+import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Stream;
@@ -157,6 +_,7 @@
import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.shapes.Shapes;
Expand Down Expand Up @@ -78,32 +86,40 @@
}

public static <T extends Entity> Consumer<T> m_263562_(ServerLevel p_263583_, ItemStack p_263568_, @Nullable Player p_263575_) {
@@ -373,11 +_,24 @@
@@ -371,15 +_,32 @@
}) : p_263579_;
}

+ public static AtomicReference<CreatureSpawnEvent.SpawnReason> spawnReason = new AtomicReference<>(org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.DEFAULT);
@Nullable
public T m_262496_(ServerLevel p_262634_, BlockPos p_262707_, MobSpawnType p_262597_) {
- return this.m_262455_(p_262634_, (CompoundTag)null, (Consumer<T>)null, p_262707_, p_262597_, false, false);
+ // CraftBukkit start
+ return this.spawn(p_262634_, p_262707_, p_262597_, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.DEFAULT);
+ return this.spawn(p_262634_, p_262707_, p_262597_, spawnReason.getAndSet(org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.DEFAULT));
+ }
+
+ @Nullable
+ public T spawn(ServerLevel p_262634_, BlockPos p_262707_, MobSpawnType p_262597_, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason) {
+ return this.spawn(p_262634_, (CompoundTag) null, null, p_262707_, p_262597_, false, false, spawnReason); // CraftBukkit - decompile error
+ // CraftBukkit ende);
}

@Nullable
public T m_262455_(ServerLevel p_262704_, @Nullable CompoundTag p_262603_, @Nullable Consumer<T> p_262621_, BlockPos p_262672_, MobSpawnType p_262644_, boolean p_262690_, boolean p_262590_) {
+ // CraftBukkit start
+ return this.spawn(p_262704_, p_262603_, p_262621_, p_262672_, p_262644_, p_262690_, p_262590_, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.DEFAULT);
+ }
+
+ @Nullable
+ public T spawn(ServerLevel p_262704_, @Nullable CompoundTag p_262603_, @Nullable Consumer<T> p_262621_, BlockPos p_262672_, MobSpawnType p_262644_, boolean p_262690_, boolean p_262590_, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason) {
+ // CraftBukkit start
+ EntityType.spawnReason.getAndSet(spawnReason);
+ return this.m_262455_(p_262704_, p_262603_, p_262621_, p_262672_, p_262644_, p_262690_, p_262590_);
}

@Nullable
public T m_262455_(ServerLevel p_262704_, @Nullable CompoundTag p_262603_, @Nullable Consumer<T> p_262621_, BlockPos p_262672_, MobSpawnType p_262644_, boolean p_262690_, boolean p_262590_) {
+ // CraftBukkit end
T t = this.m_262451_(p_262704_, p_262603_, p_262621_, p_262672_, p_262644_, p_262690_, p_262590_);
if (t != null) {
+ p_262704_.prepareAddFreshEntityWithPassengers(spawnReason.getAndSet(org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.DEFAULT)); // CraftBukkit
p_262704_.m_47205_(t);
}

@@ -600,14 +_,23 @@
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
--- a/net/minecraft/world/entity/npc/WanderingTraderSpawner.java
+++ b/net/minecraft/world/entity/npc/WanderingTraderSpawner.java
@@ -104,7 +_,7 @@
@@ -104,6 +_,7 @@
return false;
}

- WanderingTrader wanderingtrader = EntityType.f_20494_.m_262496_(p_35916_, blockpos2, MobSpawnType.EVENT);
+ WanderingTrader wanderingtrader = EntityType.f_20494_.spawn(p_35916_, blockpos2, MobSpawnType.EVENT, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL); // CraftBukkit
+ EntityType.spawnReason.set(org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL); // Magma // CraftBukkit
WanderingTrader wanderingtrader = EntityType.f_20494_.m_262496_(p_35916_, blockpos2, MobSpawnType.EVENT);
if (wanderingtrader != null) {
for(int j = 0; j < 2; ++j) {
this.m_35917_(p_35916_, wanderingtrader, 4);
@@ -125,7 +_,7 @@
private void m_35917_(ServerLevel p_35918_, WanderingTrader p_35919_, int p_35920_) {
BlockPos blockpos = this.m_35928_(p_35918_, p_35919_.m_20183_(), p_35920_);
Expand Down

0 comments on commit 7cc6843

Please sign in to comment.