Workaround for MC-199487

This commit is contained in:
IzzelAliz 2020-10-21 14:10:06 +08:00
parent 345f4669d3
commit 77ccfa00e5
2 changed files with 19 additions and 0 deletions

View File

@ -496,6 +496,10 @@ public abstract class MinecraftServerMixin extends RecursiveEventLoop<TickDelaye
return getBukkitSender(wrapper); return getBukkitSender(wrapper);
} }
public boolean isDebugging() {
return false;
}
private static MinecraftServer getServer() { private static MinecraftServer getServer() {
return Bukkit.getServer() instanceof CraftServer ? ((CraftServer) Bukkit.getServer()).getServer() : null; return Bukkit.getServer() instanceof CraftServer ? ((CraftServer) Bukkit.getServer()).getServer() : null;
} }

View File

@ -2,14 +2,20 @@ package io.izzel.arclight.common.mixin.core.world.gen;
import io.izzel.arclight.common.bridge.world.WorldBridge; import io.izzel.arclight.common.bridge.world.WorldBridge;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.util.math.SectionPos;
import net.minecraft.world.gen.WorldGenRegion; import net.minecraft.world.gen.WorldGenRegion;
import net.minecraft.world.gen.feature.structure.Structure;
import net.minecraft.world.gen.feature.structure.StructureStart;
import net.minecraft.world.server.ServerWorld; import net.minecraft.world.server.ServerWorld;
import org.bukkit.craftbukkit.v.CraftWorld; import org.bukkit.craftbukkit.v.CraftWorld;
import org.bukkit.event.entity.CreatureSpawnEvent; import org.bukkit.event.entity.CreatureSpawnEvent;
import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite;
import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Shadow;
import java.util.stream.Stream;
@Mixin(WorldGenRegion.class) @Mixin(WorldGenRegion.class)
public abstract class WorldGenRegionMixin implements WorldBridge { public abstract class WorldGenRegionMixin implements WorldBridge {
@ -40,4 +46,13 @@ public abstract class WorldGenRegionMixin implements WorldBridge {
public CreatureSpawnEvent.SpawnReason bridge$getAddEntityReason() { public CreatureSpawnEvent.SpawnReason bridge$getAddEntityReason() {
return CreatureSpawnEvent.SpawnReason.DEFAULT; return CreatureSpawnEvent.SpawnReason.DEFAULT;
} }
/**
* @author IzzelAliz
* @reason MC-199487
*/
@Overwrite
public Stream<? extends StructureStart<?>> func_241827_a(SectionPos p_241827_1_, Structure<?> p_241827_2_) {
return this.world.func_241112_a_().func_241464_a_((WorldGenRegion) (Object) this).func_235011_a_(p_241827_1_, p_241827_2_);
}
} }