mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-17 14:21:08 +00:00
more fabric stuff
This commit is contained in:
@@ -33,6 +33,7 @@ public class DamageFunction implements LootFunction {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ItemStack apply(ItemStack original, Random r) {
|
public ItemStack apply(ItemStack original, Random r) {
|
||||||
|
if(!(original instanceof Damageable)) return original;
|
||||||
double itemDurability = (r.nextDouble() * (max - min)) + min;
|
double itemDurability = (r.nextDouble() * (max - min)) + min;
|
||||||
Damageable damage = (Damageable) original.getItemMeta();
|
Damageable damage = (Damageable) original.getItemMeta();
|
||||||
damage.setDamage((int) (original.getType().getMaxDurability() - (itemDurability / 100) * original.getType().getMaxDurability()));
|
damage.setDamage((int) (original.getType().getMaxDurability() - (itemDurability / 100) * original.getType().getMaxDurability()));
|
||||||
|
|||||||
+2
@@ -35,6 +35,8 @@ public class EnchantFunction implements LootFunction {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ItemStack apply(ItemStack original, Random r) {
|
public ItemStack apply(ItemStack original, Random r) {
|
||||||
|
if(original.getItemMeta() == null) return original;
|
||||||
|
|
||||||
double enchant = (r.nextDouble() * (max - min)) + min;
|
double enchant = (r.nextDouble() * (max - min)) + min;
|
||||||
List<Enchantment> possible = new GlueList<>();
|
List<Enchantment> possible = new GlueList<>();
|
||||||
for(Enchantment ench : main.getItemHandle().getEnchantments()) {
|
for(Enchantment ench : main.getItemHandle().getEnchantments()) {
|
||||||
|
|||||||
@@ -123,6 +123,7 @@ public class StructureScript {
|
|||||||
private StructureBuffer computeBuffer(Location location, Random random, Rotation rotation) {
|
private StructureBuffer computeBuffer(Location location, Random random, Rotation rotation) {
|
||||||
try {
|
try {
|
||||||
return cache.get(location, () -> {
|
return cache.get(location, () -> {
|
||||||
|
System.out.println("{" + FastMath.floorDiv(location.getBlockX(), 16) + ", " + FastMath.floorDiv(location.getBlockZ(), 16) + "} : " + cache.size() + " : " + location.hashCode());
|
||||||
StructureBuffer buf = new StructureBuffer(location);
|
StructureBuffer buf = new StructureBuffer(location);
|
||||||
buf.setSucceeded(applyBlock(new TerraImplementationArguments(buf, rotation, random, 0)));
|
buf.setSucceeded(applyBlock(new TerraImplementationArguments(buf, rotation, random, 0)));
|
||||||
return buf;
|
return buf;
|
||||||
|
|||||||
+3
-1
@@ -23,9 +23,11 @@ public class BlockFunction implements Function<Void> {
|
|||||||
private final Returnable<Number> x, y, z;
|
private final Returnable<Number> x, y, z;
|
||||||
private final Position position;
|
private final Position position;
|
||||||
private final Returnable<Boolean> overwrite;
|
private final Returnable<Boolean> overwrite;
|
||||||
|
private final TerraPlugin main;
|
||||||
|
|
||||||
public BlockFunction(Returnable<Number> x, Returnable<Number> y, Returnable<Number> z, Returnable<String> data, Returnable<Boolean> overwrite, TerraPlugin main, Position position) throws ParseException {
|
public BlockFunction(Returnable<Number> x, Returnable<Number> y, Returnable<Number> z, Returnable<String> data, Returnable<Boolean> overwrite, TerraPlugin main, Position position) throws ParseException {
|
||||||
this.position = position;
|
this.position = position;
|
||||||
|
this.main = main;
|
||||||
if(!(data instanceof ConstantExpression)) throw new ParseException("Block data must be constant", data.getPosition());
|
if(!(data instanceof ConstantExpression)) throw new ParseException("Block data must be constant", data.getPosition());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -49,7 +51,7 @@ public class BlockFunction implements Function<Void> {
|
|||||||
RotationUtil.rotateVector(xz, arguments.getRotation());
|
RotationUtil.rotateVector(xz, arguments.getRotation());
|
||||||
|
|
||||||
RotationUtil.rotateBlockData(rot, arguments.getRotation().inverse());
|
RotationUtil.rotateBlockData(rot, arguments.getRotation().inverse());
|
||||||
arguments.getBuffer().addItem(new BufferedBlock(rot, overwrite.apply(implementationArguments, variableMap)), new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments, variableMap).doubleValue(), FastMath.roundToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld()));
|
arguments.getBuffer().addItem(new BufferedBlock(rot, overwrite.apply(implementationArguments, variableMap), main), new Vector3(FastMath.roundToInt(xz.getX()), y.apply(implementationArguments, variableMap).doubleValue(), FastMath.roundToInt(xz.getZ())).toLocation(arguments.getBuffer().getOrigin().getWorld()));
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -22,11 +22,11 @@ public class StructureBuffer implements Buffer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void paste(Chunk chunk) {
|
public void paste(Chunk chunk) {
|
||||||
bufferedItemMap.forEach(((vector3, item) -> {
|
bufferedItemMap.forEach(((location, item) -> {
|
||||||
Location current = origin.clone().add(vector3);
|
Location current = origin.clone().add(location);
|
||||||
if(FastMath.floorDiv(current.getBlockX(), 16) != chunk.getX() || FastMath.floorDiv(current.getBlockZ(), 16) != chunk.getZ())
|
if(FastMath.floorDiv(current.getBlockX(), 16) != chunk.getX() || FastMath.floorDiv(current.getBlockZ(), 16) != chunk.getZ())
|
||||||
return;
|
return;
|
||||||
item.paste(origin.clone().add(vector3));
|
item.paste(current);
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+10
-2
@@ -1,5 +1,6 @@
|
|||||||
package com.dfsek.terra.api.structures.structure.buffer.items;
|
package com.dfsek.terra.api.structures.structure.buffer.items;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.math.vector.Location;
|
import com.dfsek.terra.api.math.vector.Location;
|
||||||
import com.dfsek.terra.api.platform.block.Block;
|
import com.dfsek.terra.api.platform.block.Block;
|
||||||
import com.dfsek.terra.api.platform.block.BlockData;
|
import com.dfsek.terra.api.platform.block.BlockData;
|
||||||
@@ -7,15 +8,22 @@ import com.dfsek.terra.api.platform.block.BlockData;
|
|||||||
public class BufferedBlock implements BufferedItem {
|
public class BufferedBlock implements BufferedItem {
|
||||||
private final BlockData data;
|
private final BlockData data;
|
||||||
private final boolean overwrite;
|
private final boolean overwrite;
|
||||||
|
private final TerraPlugin main;
|
||||||
|
|
||||||
public BufferedBlock(BlockData data, boolean overwrite) {
|
public BufferedBlock(BlockData data, boolean overwrite, TerraPlugin main) {
|
||||||
this.data = data;
|
this.data = data;
|
||||||
this.overwrite = overwrite;
|
this.overwrite = overwrite;
|
||||||
|
this.main = main;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void paste(Location origin) {
|
public void paste(Location origin) {
|
||||||
Block block = origin.getBlock();
|
Block block = origin.getBlock();
|
||||||
if(overwrite || block.isEmpty()) block.setBlockData(data, false);
|
try {
|
||||||
|
if(overwrite || block.isEmpty()) block.setBlockData(data, false);
|
||||||
|
} catch(RuntimeException e) {
|
||||||
|
main.logger().severe("Failed to place block at location " + origin + ": " + e.getMessage());
|
||||||
|
main.getDebugLogger().stack(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ public class StructurePopulator implements TerraBlockPopulator {
|
|||||||
if(!((UserDefinedBiome) provider.getBiome(spawn)).getConfig().getStructures().contains(conf))
|
if(!((UserDefinedBiome) provider.getBiome(spawn)).getConfig().getStructures().contains(conf))
|
||||||
continue;
|
continue;
|
||||||
Random random = new FastRandom(MathUtil.getCarverChunkSeed(FastMath.floorDiv(spawn.getBlockX(), 16), FastMath.floorDiv(spawn.getBlockZ(), 16), world.getSeed()));
|
Random random = new FastRandom(MathUtil.getCarverChunkSeed(FastMath.floorDiv(spawn.getBlockX(), 16), FastMath.floorDiv(spawn.getBlockZ(), 16), world.getSeed()));
|
||||||
|
System.out.println("chunk: {" + chunk.getX() + ", " + chunk.getZ() + "}");
|
||||||
conf.getStructure().get(random).execute(spawn.setY(conf.getSpawnStart().get(random)), chunk, random, Rotation.fromDegrees(90 * random.nextInt(4)));
|
conf.getStructure().get(random).execute(spawn.setY(conf.getSpawnStart().get(random)), chunk, random, Rotation.fromDegrees(90 * random.nextInt(4)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -3,4 +3,4 @@ distributionPath=wrapper/dists
|
|||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
org.gradle.jvmargs=-Xmx2048m
|
org.gradle.jvmargs=-Xmx4096m
|
||||||
@@ -31,7 +31,7 @@ configure<LoomGradleExtension> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
tasks.register<RemapJarTask>("remapShadedJar") {
|
tasks.register<RemapJarTask>("remapShadedJar") {
|
||||||
setProperty("input", file("build/libs/fabric-${version}-shaded.jar"))
|
setProperty("input", file("build/libs/Terra-fabric-${version}-shaded.jar"))
|
||||||
setProperty("addNestedDependencies", false)
|
setProperty("addNestedDependencies", false)
|
||||||
setProperty("remapAccessWidener", true)
|
setProperty("remapAccessWidener", true)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ import net.fabricmc.api.ModInitializer;
|
|||||||
import net.fabricmc.loader.api.FabricLoader;
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
import net.minecraft.block.Blocks;
|
import net.minecraft.block.Blocks;
|
||||||
import net.minecraft.client.world.GeneratorType;
|
import net.minecraft.client.world.GeneratorType;
|
||||||
|
import net.minecraft.text.LiteralText;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.registry.BuiltinRegistries;
|
import net.minecraft.util.registry.BuiltinRegistries;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
@@ -286,17 +287,23 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer {
|
|||||||
Registry.register(Registry.BIOME_SOURCE, new Identifier("terra:terra"), TerraBiomeSource.CODEC);
|
Registry.register(Registry.BIOME_SOURCE, new Identifier("terra:terra"), TerraBiomeSource.CODEC);
|
||||||
|
|
||||||
if(FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT) {
|
if(FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT) {
|
||||||
GeneratorTypeAccessor.getVALUES().add(new GeneratorType("terra") {
|
registry.forEach(pack -> {
|
||||||
@Override
|
System.out.println(pack.getTemplate().getID());
|
||||||
protected ChunkGenerator getChunkGenerator(Registry<Biome> biomeRegistry, Registry<ChunkGeneratorSettings> chunkGeneratorSettingsRegistry, long seed) {
|
pack.getBiomeRegistry().forEach(b -> System.out.println(b.getID()));
|
||||||
ConfigPack pack = registry.get("DEFAULT");
|
final GeneratorType generatorType = new GeneratorType("terra." + pack.getTemplate().getID()) {
|
||||||
return new FabricChunkGeneratorWrapper(new TerraBiomeSource(biomeRegistry, seed, pack), seed, pack);
|
@Override
|
||||||
}
|
protected ChunkGenerator getChunkGenerator(Registry<Biome> biomeRegistry, Registry<ChunkGeneratorSettings> chunkGeneratorSettingsRegistry, long seed) {
|
||||||
|
return new FabricChunkGeneratorWrapper(new TerraBiomeSource(biomeRegistry, seed, pack), seed, pack);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
((GeneratorTypeAccessor) generatorType).setTranslationKey(new LiteralText("Terra:" + pack.getTemplate().getID()));
|
||||||
|
GeneratorTypeAccessor.getVALUES().add(generatorType);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public EventManager getEventManager() {
|
public EventManager getEventManager() {
|
||||||
return eventManager;
|
return eventManager;
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ public class FabricInventory implements Inventory {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setItem(int slot, ItemStack newStack) {
|
public void setItem(int slot, ItemStack newStack) {
|
||||||
System.out.println("item @ " + slot + ": " + newStack.getHandle());
|
|
||||||
delegate.setStack(slot, FabricAdapter.adapt(newStack));
|
delegate.setStack(slot, FabricAdapter.adapt(newStack));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+19
@@ -1,10 +1,14 @@
|
|||||||
package com.dfsek.terra.fabric.mixin;
|
package com.dfsek.terra.fabric.mixin;
|
||||||
|
|
||||||
import net.minecraft.client.world.GeneratorType;
|
import net.minecraft.client.world.GeneratorType;
|
||||||
|
import net.minecraft.text.Text;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.Mutable;
|
||||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
@Mixin(GeneratorType.class)
|
@Mixin(GeneratorType.class)
|
||||||
public interface GeneratorTypeAccessor {
|
public interface GeneratorTypeAccessor {
|
||||||
@@ -12,4 +16,19 @@ public interface GeneratorTypeAccessor {
|
|||||||
static List<GeneratorType> getVALUES() {
|
static List<GeneratorType> getVALUES() {
|
||||||
throw new AssertionError();
|
throw new AssertionError();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Accessor
|
||||||
|
static Map<Optional<GeneratorType>, GeneratorType.ScreenProvider> getSCREEN_PROVIDERS() {
|
||||||
|
throw new UnsupportedOperationException();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Mutable
|
||||||
|
@Accessor
|
||||||
|
static void setSCREEN_PROVIDERS(Map<Optional<GeneratorType>, GeneratorType.ScreenProvider> SCREEN_PROVIDERS) {
|
||||||
|
throw new UnsupportedOperationException();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Mutable
|
||||||
|
@Accessor
|
||||||
|
void setTranslationKey(Text translationKey);
|
||||||
}
|
}
|
||||||
|
|||||||
-1
@@ -36,7 +36,6 @@ public class FabricBlockState implements BlockState {
|
|||||||
return new FabricMobSpawner(mobSpawnerBlockEntity, worldAccess);
|
return new FabricMobSpawner(mobSpawnerBlockEntity, worldAccess);
|
||||||
} else if(block1 instanceof AbstractChestBlock) {
|
} else if(block1 instanceof AbstractChestBlock) {
|
||||||
BlockEntity abstractChestBlock = worldAccess.getBlockEntity(FabricAdapter.adapt(block.getLocation().toVector()));
|
BlockEntity abstractChestBlock = worldAccess.getBlockEntity(FabricAdapter.adapt(block.getLocation().toVector()));
|
||||||
System.out.println("inventory: " + block1);
|
|
||||||
return new FabricContainer(abstractChestBlock, worldAccess);
|
return new FabricContainer(abstractChestBlock, worldAccess);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
+3
-2
@@ -12,6 +12,7 @@ import com.dfsek.terra.fabric.world.handles.chunk.FabricChunk;
|
|||||||
import com.dfsek.terra.fabric.world.handles.world.FabricWorldHandle;
|
import com.dfsek.terra.fabric.world.handles.world.FabricWorldHandle;
|
||||||
import net.minecraft.server.world.ServerWorld;
|
import net.minecraft.server.world.ServerWorld;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.world.ServerWorldAccess;
|
||||||
import net.minecraft.world.WorldAccess;
|
import net.minecraft.world.WorldAccess;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -73,13 +74,13 @@ public class FabricWorld implements World, FabricWorldHandle {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return delegate.generator.hashCode();
|
return ((ServerWorldAccess) delegate.world).toServerWorld().hashCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
if(!(obj instanceof FabricWorld)) return false;
|
if(!(obj instanceof FabricWorld)) return false;
|
||||||
return ((FabricWorld) obj).delegate.generator.equals(delegate.generator);
|
return ((ServerWorldAccess) ((FabricWorld) obj).delegate.world).toServerWorld().equals(((ServerWorldAccess) delegate.world).toServerWorld());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+4
-2
@@ -10,6 +10,7 @@ import com.dfsek.terra.api.platform.world.generator.ChunkGenerator;
|
|||||||
import com.dfsek.terra.fabric.world.block.FabricBlock;
|
import com.dfsek.terra.fabric.world.block.FabricBlock;
|
||||||
import com.dfsek.terra.fabric.world.generator.FabricChunkGenerator;
|
import com.dfsek.terra.fabric.world.generator.FabricChunkGenerator;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraft.world.ServerWorldAccess;
|
||||||
import net.minecraft.world.WorldAccess;
|
import net.minecraft.world.WorldAccess;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -81,12 +82,13 @@ public class FabricSeededWorldAccess implements World, FabricWorldHandle {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return handle.worldAccess.hashCode();
|
return ((ServerWorldAccess) handle.worldAccess).toServerWorld().hashCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
return super.equals(obj);
|
if(!(obj instanceof FabricSeededWorldAccess)) return false;
|
||||||
|
return ((ServerWorldAccess) ((FabricSeededWorldAccess) obj).handle.worldAccess).toServerWorld().equals(((ServerWorldAccess) handle.worldAccess).toServerWorld());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+11
@@ -89,4 +89,15 @@ public class FabricWorldAccess implements World, FabricWorldHandle {
|
|||||||
public WorldAccess getWorld() {
|
public WorldAccess getWorld() {
|
||||||
return delegate;
|
return delegate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return ((ServerWorldAccess) delegate).toServerWorld().hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if(!(obj instanceof FabricWorldAccess)) return false;
|
||||||
|
return ((ServerWorldAccess) ((FabricWorldAccess) obj).delegate).toServerWorld().equals(((ServerWorldAccess) delegate).toServerWorld());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-3
@@ -11,6 +11,7 @@ import com.dfsek.terra.fabric.world.block.FabricBlock;
|
|||||||
import com.dfsek.terra.fabric.world.generator.FabricChunkGenerator;
|
import com.dfsek.terra.fabric.world.generator.FabricChunkGenerator;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.ChunkRegion;
|
import net.minecraft.world.ChunkRegion;
|
||||||
|
import net.minecraft.world.ServerWorldAccess;
|
||||||
import net.minecraft.world.WorldAccess;
|
import net.minecraft.world.WorldAccess;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -71,13 +72,14 @@ public class FabricWorldChunkRegion implements World, FabricWorldHandle {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return delegate.generator.hashCode();
|
return ((ServerWorldAccess) delegate.chunk).toServerWorld().hashCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
if(!(obj instanceof FabricWorldChunkRegion)) return false;
|
if(!(obj instanceof FabricWorldChunkRegion)) return false;
|
||||||
return ((FabricWorldChunkRegion) obj).delegate.generator.equals(delegate.generator);
|
return super.equals(obj);
|
||||||
|
//return ((ServerWorldAccess) ((FabricWorldChunkRegion) obj).delegate.chunk).toServerWorld().equals(((ServerWorldAccess) delegate.chunk).toServerWorld());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -92,7 +94,7 @@ public class FabricWorldChunkRegion implements World, FabricWorldHandle {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object getHandle() {
|
public Object getHandle() {
|
||||||
return null;
|
return delegate;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user