Replace #updateAdjacentComparators implementation(+ move to NMS modules)
This commit is contained in:
parent
b779194e3e
commit
3d20f439e1
|
@ -328,65 +328,6 @@ public class BlockUtils {
|
|||
return null;
|
||||
}
|
||||
|
||||
/* Only to be used by #updateAdjacentComparators */
|
||||
private static Method chunkToNmsChunk, nmsChunkGetWorld, craftBlockGetPosition, craftBlockBlockDataGetter, blockDataGetBlock, craftMagicNumbersGetBlockByMaterial, nmsWorldUpdateAdjacentComparators;
|
||||
/* Only to be used by #updateAdjacentComparators */
|
||||
private static Constructor<?> blockPositionConstructor;
|
||||
|
||||
/**
|
||||
* Manually trigger the updateAdjacentComparators method for containers
|
||||
*
|
||||
* @param loc The Location of the container
|
||||
*/
|
||||
public static void updateAdjacentComparators(Location loc) {
|
||||
if (loc == null || loc.getWorld() == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
Block craftBlock = loc.getBlock();
|
||||
|
||||
try {
|
||||
if (chunkToNmsChunk == null) {
|
||||
chunkToNmsChunk = MethodMapping.CB_GENERIC__GET_HANDLE.getMethod(ClassMapping.CRAFT_CHUNK.getClazz());
|
||||
nmsChunkGetWorld = MethodMapping.MC_CHUNK__GET_WORLD.getMethod(chunkToNmsChunk.getReturnType());
|
||||
|
||||
craftBlockGetPosition = MethodMapping.CB_BLOCK__GET_POSITION.getMethod(ClassMapping.CRAFT_BLOCK.getClazz());
|
||||
if (craftBlockGetPosition == null) {
|
||||
blockPositionConstructor = ClassMapping.BLOCK_POSITION.getClazz().getConstructor(double.class, double.class, double.class);
|
||||
}
|
||||
|
||||
nmsWorldUpdateAdjacentComparators = MethodMapping.WORLD__UPDATE_ADJACENT_COMPARATORS.getMethod(ClassMapping.WORLD.getClazz());
|
||||
|
||||
craftBlockBlockDataGetter = MethodMapping.CB_BLOCK__GET_NMS.getMethod(ClassMapping.CRAFT_BLOCK.getClazz());
|
||||
blockDataGetBlock = MethodMapping.I_BLOCK_DATA__GET_BLOCK.getMethod(ClassMapping.I_BLOCK_DATA.getClazz());
|
||||
if (craftBlockBlockDataGetter == null || blockDataGetBlock == null) {
|
||||
craftMagicNumbersGetBlockByMaterial = MethodMapping.CRAFT_MAGIC_NUMBERS__GET_BLOCK__MATERIAL.getMethod(ClassMapping.CRAFT_MAGIC_NUMBERS.getClazz());
|
||||
}
|
||||
}
|
||||
|
||||
Object nmsChunk = chunkToNmsChunk.invoke(loc.getChunk());
|
||||
Object nmsWorld = nmsChunkGetWorld.invoke(nmsChunk);
|
||||
|
||||
Object blockPosition;
|
||||
if (craftBlockGetPosition != null) {
|
||||
blockPosition = craftBlockGetPosition.invoke(craftBlock);
|
||||
} else {
|
||||
blockPosition = blockPositionConstructor.newInstance(loc.getX(), loc.getY(), loc.getZ());
|
||||
}
|
||||
|
||||
Object nmsBlock;
|
||||
if (craftBlockBlockDataGetter != null) {
|
||||
nmsBlock = blockDataGetBlock.invoke(craftBlockBlockDataGetter.invoke(craftBlock));
|
||||
} else {
|
||||
nmsBlock = craftMagicNumbersGetBlockByMaterial.invoke(null, craftBlock.getType());
|
||||
}
|
||||
|
||||
nmsWorldUpdateAdjacentComparators.invoke(nmsWorld, blockPosition, nmsBlock);
|
||||
} catch (NullPointerException | ReflectiveOperationException ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/* Only to be used by #setBlockFast */
|
||||
private static Class<?> clazzIBlockData, clazzBlocks, clazzCraftWorld, clazzBlockPosition;
|
||||
/* Only to be used by #setBlockFast */
|
||||
|
|
|
@ -6,6 +6,7 @@ import org.bukkit.World;
|
|||
import org.bukkit.block.BlockState;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
|
@ -30,6 +31,13 @@ public interface WorldCore {
|
|||
*/
|
||||
void randomTickChunk(Chunk bukkitChunk, int tickAmount) throws NoSuchFieldException, IllegalAccessException;
|
||||
|
||||
/**
|
||||
* Manually trigger the updateAdjacentComparators method for containers
|
||||
*
|
||||
* @param loc The Location of the container
|
||||
*/
|
||||
void updateAdjacentComparators(@NotNull Location loc);
|
||||
|
||||
/**
|
||||
* Ticks all inactive spawners in a specific chunk ignoring the minimum required players within a specific range.<br>
|
||||
* A spawner is deemed inactive if no player is within its activation range.
|
||||
|
|
|
@ -18,7 +18,12 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.craftbukkit.v1_10_R1.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_10_R1.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_10_R1.util.CraftMagicNumbers;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldCoreImpl implements WorldCore {
|
||||
@Override
|
||||
|
@ -85,4 +90,15 @@ public class WorldCoreImpl implements WorldCore {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAdjacentComparators(@NotNull Location loc) {
|
||||
Objects.requireNonNull(loc.getWorld());
|
||||
|
||||
WorldServer serverLevel = ((CraftWorld) loc.getWorld()).getHandle();
|
||||
BlockPosition blockPos = new BlockPosition(loc.getX(), loc.getY(), loc.getZ());
|
||||
Block nmsBlock = CraftMagicNumbers.getBlock(loc.getBlock().getType());
|
||||
|
||||
serverLevel.updateAdjacentComparators(blockPos, nmsBlock);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,12 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.craftbukkit.v1_11_R1.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_11_R1.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_11_R1.util.CraftMagicNumbers;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldCoreImpl implements WorldCore {
|
||||
@Override
|
||||
|
@ -85,4 +90,15 @@ public class WorldCoreImpl implements WorldCore {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAdjacentComparators(@NotNull Location loc) {
|
||||
Objects.requireNonNull(loc.getWorld());
|
||||
|
||||
WorldServer serverLevel = ((CraftWorld) loc.getWorld()).getHandle();
|
||||
BlockPosition blockPos = new BlockPosition(loc.getX(), loc.getY(), loc.getZ());
|
||||
Block nmsBlock = CraftMagicNumbers.getBlock(loc.getBlock().getType());
|
||||
|
||||
serverLevel.updateAdjacentComparators(blockPos, nmsBlock);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,12 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.craftbukkit.v1_12_R1.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_12_R1.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_12_R1.util.CraftMagicNumbers;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldCoreImpl implements WorldCore {
|
||||
@Override
|
||||
|
@ -85,4 +90,15 @@ public class WorldCoreImpl implements WorldCore {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAdjacentComparators(@NotNull Location loc) {
|
||||
Objects.requireNonNull(loc.getWorld());
|
||||
|
||||
WorldServer serverLevel = ((CraftWorld) loc.getWorld()).getHandle();
|
||||
BlockPosition blockPos = new BlockPosition(loc.getX(), loc.getY(), loc.getZ());
|
||||
Block nmsBlock = CraftMagicNumbers.getBlock(loc.getBlock().getType());
|
||||
|
||||
serverLevel.updateAdjacentComparators(blockPos, nmsBlock);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import com.songoda.core.nms.world.SItemStack;
|
|||
import com.songoda.core.nms.world.SSpawner;
|
||||
import com.songoda.core.nms.world.SWorld;
|
||||
import com.songoda.core.nms.world.WorldCore;
|
||||
import net.minecraft.server.v1_13_R1.Block;
|
||||
import net.minecraft.server.v1_13_R1.BlockPosition;
|
||||
import net.minecraft.server.v1_13_R1.Chunk;
|
||||
import net.minecraft.server.v1_13_R1.ChunkSection;
|
||||
|
@ -18,7 +19,12 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.craftbukkit.v1_13_R1.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_13_R1.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_13_R1.block.CraftBlock;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldCoreImpl implements WorldCore {
|
||||
@Override
|
||||
|
@ -89,4 +95,15 @@ public class WorldCoreImpl implements WorldCore {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAdjacentComparators(@NotNull Location loc) {
|
||||
Objects.requireNonNull(loc.getWorld());
|
||||
|
||||
WorldServer serverLevel = ((CraftWorld) loc.getWorld()).getHandle();
|
||||
BlockPosition blockPos = new BlockPosition(loc.getX(), loc.getY(), loc.getZ());
|
||||
Block nmsBlock = ((CraftBlock) loc.getBlock()).getNMS().getBlock();
|
||||
|
||||
serverLevel.updateAdjacentComparators(blockPos, nmsBlock);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import com.songoda.core.nms.world.SItemStack;
|
|||
import com.songoda.core.nms.world.SSpawner;
|
||||
import com.songoda.core.nms.world.SWorld;
|
||||
import com.songoda.core.nms.world.WorldCore;
|
||||
import net.minecraft.server.v1_13_R2.Block;
|
||||
import net.minecraft.server.v1_13_R2.BlockPosition;
|
||||
import net.minecraft.server.v1_13_R2.Chunk;
|
||||
import net.minecraft.server.v1_13_R2.ChunkSection;
|
||||
|
@ -18,7 +19,12 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.craftbukkit.v1_13_R2.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_13_R2.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_13_R2.block.CraftBlock;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldCoreImpl implements WorldCore {
|
||||
@Override
|
||||
|
@ -96,4 +102,15 @@ public class WorldCoreImpl implements WorldCore {
|
|||
|
||||
chunk.world.methodProfiler.exit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAdjacentComparators(@NotNull Location loc) {
|
||||
Objects.requireNonNull(loc.getWorld());
|
||||
|
||||
WorldServer serverLevel = ((CraftWorld) loc.getWorld()).getHandle();
|
||||
BlockPosition blockPos = new BlockPosition(loc.getX(), loc.getY(), loc.getZ());
|
||||
Block nmsBlock = ((CraftBlock) loc.getBlock()).getNMS().getBlock();
|
||||
|
||||
serverLevel.updateAdjacentComparators(blockPos, nmsBlock);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import com.songoda.core.nms.world.SItemStack;
|
|||
import com.songoda.core.nms.world.SSpawner;
|
||||
import com.songoda.core.nms.world.SWorld;
|
||||
import com.songoda.core.nms.world.WorldCore;
|
||||
import net.minecraft.server.v1_14_R1.Block;
|
||||
import net.minecraft.server.v1_14_R1.BlockPosition;
|
||||
import net.minecraft.server.v1_14_R1.Chunk;
|
||||
import net.minecraft.server.v1_14_R1.ChunkCoordIntPair;
|
||||
|
@ -20,7 +21,12 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.craftbukkit.v1_14_R1.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_14_R1.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_14_R1.block.CraftBlock;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldCoreImpl implements WorldCore {
|
||||
@Override
|
||||
|
@ -93,4 +99,15 @@ public class WorldCoreImpl implements WorldCore {
|
|||
|
||||
profiler.exit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAdjacentComparators(@NotNull Location loc) {
|
||||
Objects.requireNonNull(loc.getWorld());
|
||||
|
||||
WorldServer serverLevel = ((CraftWorld) loc.getWorld()).getHandle();
|
||||
BlockPosition blockPos = new BlockPosition(loc.getX(), loc.getY(), loc.getZ());
|
||||
Block nmsBlock = ((CraftBlock) loc.getBlock()).getNMS().getBlock();
|
||||
|
||||
serverLevel.updateAdjacentComparators(blockPos, nmsBlock);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import com.songoda.core.nms.world.SItemStack;
|
|||
import com.songoda.core.nms.world.SSpawner;
|
||||
import com.songoda.core.nms.world.SWorld;
|
||||
import com.songoda.core.nms.world.WorldCore;
|
||||
import net.minecraft.server.v1_15_R1.Block;
|
||||
import net.minecraft.server.v1_15_R1.BlockPosition;
|
||||
import net.minecraft.server.v1_15_R1.Chunk;
|
||||
import net.minecraft.server.v1_15_R1.ChunkCoordIntPair;
|
||||
|
@ -20,7 +21,12 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.craftbukkit.v1_15_R1.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_15_R1.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_15_R1.block.CraftBlock;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldCoreImpl implements WorldCore {
|
||||
@Override
|
||||
|
@ -96,4 +102,15 @@ public class WorldCoreImpl implements WorldCore {
|
|||
|
||||
profiler.exit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAdjacentComparators(@NotNull Location loc) {
|
||||
Objects.requireNonNull(loc.getWorld());
|
||||
|
||||
WorldServer serverLevel = ((CraftWorld) loc.getWorld()).getHandle();
|
||||
BlockPosition blockPos = new BlockPosition(loc.getX(), loc.getY(), loc.getZ());
|
||||
Block nmsBlock = ((CraftBlock) loc.getBlock()).getNMS().getBlock();
|
||||
|
||||
serverLevel.updateAdjacentComparators(blockPos, nmsBlock);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import com.songoda.core.nms.world.SItemStack;
|
|||
import com.songoda.core.nms.world.SSpawner;
|
||||
import com.songoda.core.nms.world.SWorld;
|
||||
import com.songoda.core.nms.world.WorldCore;
|
||||
import net.minecraft.server.v1_16_R1.Block;
|
||||
import net.minecraft.server.v1_16_R1.BlockPosition;
|
||||
import net.minecraft.server.v1_16_R1.Chunk;
|
||||
import net.minecraft.server.v1_16_R1.ChunkCoordIntPair;
|
||||
|
@ -20,7 +21,12 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.craftbukkit.v1_16_R1.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_16_R1.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_16_R1.block.CraftBlock;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldCoreImpl implements WorldCore {
|
||||
@Override
|
||||
|
@ -97,4 +103,15 @@ public class WorldCoreImpl implements WorldCore {
|
|||
|
||||
profiler.exit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAdjacentComparators(@NotNull Location loc) {
|
||||
Objects.requireNonNull(loc.getWorld());
|
||||
|
||||
WorldServer serverLevel = ((CraftWorld) loc.getWorld()).getHandle();
|
||||
BlockPosition blockPos = new BlockPosition(loc.getX(), loc.getY(), loc.getZ());
|
||||
Block nmsBlock = ((CraftBlock) loc.getBlock()).getNMS().getBlock();
|
||||
|
||||
serverLevel.updateAdjacentComparators(blockPos, nmsBlock);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import com.songoda.core.nms.world.SItemStack;
|
|||
import com.songoda.core.nms.world.SSpawner;
|
||||
import com.songoda.core.nms.world.SWorld;
|
||||
import com.songoda.core.nms.world.WorldCore;
|
||||
import net.minecraft.server.v1_16_R2.Block;
|
||||
import net.minecraft.server.v1_16_R2.BlockPosition;
|
||||
import net.minecraft.server.v1_16_R2.Chunk;
|
||||
import net.minecraft.server.v1_16_R2.ChunkCoordIntPair;
|
||||
|
@ -20,7 +21,12 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.craftbukkit.v1_16_R2.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_16_R2.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_16_R2.block.CraftBlock;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldCoreImpl implements WorldCore {
|
||||
@Override
|
||||
|
@ -97,4 +103,15 @@ public class WorldCoreImpl implements WorldCore {
|
|||
|
||||
profiler.exit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAdjacentComparators(@NotNull Location loc) {
|
||||
Objects.requireNonNull(loc.getWorld());
|
||||
|
||||
WorldServer serverLevel = ((CraftWorld) loc.getWorld()).getHandle();
|
||||
BlockPosition blockPos = new BlockPosition(loc.getX(), loc.getY(), loc.getZ());
|
||||
Block nmsBlock = ((CraftBlock) loc.getBlock()).getNMS().getBlock();
|
||||
|
||||
serverLevel.updateAdjacentComparators(blockPos, nmsBlock);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import com.songoda.core.nms.world.SItemStack;
|
|||
import com.songoda.core.nms.world.SSpawner;
|
||||
import com.songoda.core.nms.world.SWorld;
|
||||
import com.songoda.core.nms.world.WorldCore;
|
||||
import net.minecraft.server.v1_16_R3.Block;
|
||||
import net.minecraft.server.v1_16_R3.BlockPosition;
|
||||
import net.minecraft.server.v1_16_R3.Chunk;
|
||||
import net.minecraft.server.v1_16_R3.ChunkCoordIntPair;
|
||||
|
@ -20,7 +21,12 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.craftbukkit.v1_16_R3.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_16_R3.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_16_R3.block.CraftBlock;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldCoreImpl implements WorldCore {
|
||||
@Override
|
||||
|
@ -98,4 +104,15 @@ public class WorldCoreImpl implements WorldCore {
|
|||
|
||||
profiler.exit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAdjacentComparators(@NotNull Location loc) {
|
||||
Objects.requireNonNull(loc.getWorld());
|
||||
|
||||
WorldServer serverLevel = ((CraftWorld) loc.getWorld()).getHandle();
|
||||
BlockPosition blockPos = new BlockPosition(loc.getX(), loc.getY(), loc.getZ());
|
||||
Block nmsBlock = ((CraftBlock) loc.getBlock()).getNMS().getBlock();
|
||||
|
||||
serverLevel.updateAdjacentComparators(blockPos, nmsBlock);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ import net.minecraft.server.level.WorldServer;
|
|||
import net.minecraft.util.profiling.GameProfilerFiller;
|
||||
import net.minecraft.world.level.ChunkCoordIntPair;
|
||||
import net.minecraft.world.level.MobSpawnerAbstract;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.state.IBlockData;
|
||||
import net.minecraft.world.level.chunk.Chunk;
|
||||
import net.minecraft.world.level.chunk.ChunkSection;
|
||||
|
@ -20,7 +21,12 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.craftbukkit.v1_17_R1.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_17_R1.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_17_R1.block.CraftBlock;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldCoreImpl implements WorldCore {
|
||||
@Override
|
||||
|
@ -96,4 +102,15 @@ public class WorldCoreImpl implements WorldCore {
|
|||
|
||||
profiler.exit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAdjacentComparators(@NotNull Location loc) {
|
||||
Objects.requireNonNull(loc.getWorld());
|
||||
|
||||
WorldServer serverLevel = ((CraftWorld) loc.getWorld()).getHandle();
|
||||
BlockPosition blockPos = new BlockPosition(loc.getX(), loc.getY(), loc.getZ());
|
||||
Block nmsBlock = ((CraftBlock) loc.getBlock()).getNMS().getBlock();
|
||||
|
||||
serverLevel.updateAdjacentComparators(blockPos, nmsBlock);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ import net.minecraft.server.level.WorldServer;
|
|||
import net.minecraft.util.profiling.GameProfilerFiller;
|
||||
import net.minecraft.world.level.ChunkCoordIntPair;
|
||||
import net.minecraft.world.level.MobSpawnerAbstract;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.state.IBlockData;
|
||||
import net.minecraft.world.level.chunk.Chunk;
|
||||
import net.minecraft.world.level.chunk.ChunkSection;
|
||||
|
@ -20,7 +21,12 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.craftbukkit.v1_18_R1.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_18_R1.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_18_R1.block.CraftBlock;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldCoreImpl implements WorldCore {
|
||||
@Override
|
||||
|
@ -93,4 +99,15 @@ public class WorldCoreImpl implements WorldCore {
|
|||
|
||||
gameprofilerfiller.c();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAdjacentComparators(@NotNull Location loc) {
|
||||
Objects.requireNonNull(loc.getWorld());
|
||||
|
||||
WorldServer serverLevel = ((CraftWorld) loc.getWorld()).getHandle();
|
||||
BlockPosition blockPos = new BlockPosition(loc.getX(), loc.getY(), loc.getZ());
|
||||
Block nmsBlock = ((CraftBlock) loc.getBlock()).getNMS().b();
|
||||
|
||||
serverLevel.c(blockPos, nmsBlock);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ import net.minecraft.server.level.ServerLevel;
|
|||
import net.minecraft.util.profiling.ProfilerFiller;
|
||||
import net.minecraft.world.level.BaseSpawner;
|
||||
import net.minecraft.world.level.ChunkPos;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.chunk.LevelChunk;
|
||||
import net.minecraft.world.level.chunk.LevelChunkSection;
|
||||
|
@ -20,7 +21,12 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.craftbukkit.v1_18_R2.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_18_R2.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_18_R2.block.CraftBlock;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldCoreImpl implements WorldCore {
|
||||
@Override
|
||||
|
@ -92,4 +98,15 @@ public class WorldCoreImpl implements WorldCore {
|
|||
|
||||
gameProfilerFiller.pop();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAdjacentComparators(@NotNull Location loc) {
|
||||
Objects.requireNonNull(loc.getWorld());
|
||||
|
||||
ServerLevel serverLevel = ((CraftWorld) loc.getWorld()).getHandle();
|
||||
BlockPos blockPos = new BlockPos(loc.getX(), loc.getY(), loc.getZ());
|
||||
Block nmsBlock = ((CraftBlock) loc.getBlock()).getNMS().getBlock();
|
||||
|
||||
serverLevel.updateNeighbourForOutputSignal(blockPos, nmsBlock);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ import net.minecraft.server.level.ServerLevel;
|
|||
import net.minecraft.util.profiling.ProfilerFiller;
|
||||
import net.minecraft.world.level.BaseSpawner;
|
||||
import net.minecraft.world.level.ChunkPos;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.chunk.LevelChunk;
|
||||
import net.minecraft.world.level.chunk.LevelChunkSection;
|
||||
|
@ -20,7 +21,12 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.craftbukkit.v1_19_R1.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_19_R1.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_19_R1.block.CraftBlock;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldCoreImpl implements WorldCore {
|
||||
@Override
|
||||
|
@ -90,4 +96,15 @@ public class WorldCoreImpl implements WorldCore {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAdjacentComparators(@NotNull Location loc) {
|
||||
Objects.requireNonNull(loc.getWorld());
|
||||
|
||||
ServerLevel serverLevel = ((CraftWorld) loc.getWorld()).getHandle();
|
||||
BlockPos blockPos = new BlockPos(loc.getX(), loc.getY(), loc.getZ());
|
||||
Block nmsBlock = ((CraftBlock) loc.getBlock()).getNMS().getBlock();
|
||||
|
||||
serverLevel.updateNeighbourForOutputSignal(blockPos, nmsBlock);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,12 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.craftbukkit.v1_8_R1.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_8_R1.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_8_R1.util.CraftMagicNumbers;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldCoreImpl implements WorldCore {
|
||||
@Override
|
||||
|
@ -87,4 +92,15 @@ public class WorldCoreImpl implements WorldCore {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAdjacentComparators(@NotNull Location loc) {
|
||||
Objects.requireNonNull(loc.getWorld());
|
||||
|
||||
WorldServer serverLevel = ((CraftWorld) loc.getWorld()).getHandle();
|
||||
BlockPosition blockPos = new BlockPosition(loc.getX(), loc.getY(), loc.getZ());
|
||||
Block nmsBlock = CraftMagicNumbers.getBlock(loc.getBlock().getType());
|
||||
|
||||
serverLevel.updateAdjacentComparators(blockPos, nmsBlock);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,12 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.craftbukkit.v1_8_R2.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_8_R2.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_8_R2.util.CraftMagicNumbers;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldCoreImpl implements WorldCore {
|
||||
@Override
|
||||
|
@ -87,4 +92,15 @@ public class WorldCoreImpl implements WorldCore {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAdjacentComparators(@NotNull Location loc) {
|
||||
Objects.requireNonNull(loc.getWorld());
|
||||
|
||||
WorldServer serverLevel = ((CraftWorld) loc.getWorld()).getHandle();
|
||||
BlockPosition blockPos = new BlockPosition(loc.getX(), loc.getY(), loc.getZ());
|
||||
Block nmsBlock = CraftMagicNumbers.getBlock(loc.getBlock().getType());
|
||||
|
||||
serverLevel.updateAdjacentComparators(blockPos, nmsBlock);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,12 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.craftbukkit.v1_8_R3.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_8_R3.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_8_R3.util.CraftMagicNumbers;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldCoreImpl implements WorldCore {
|
||||
@Override
|
||||
|
@ -86,4 +91,15 @@ public class WorldCoreImpl implements WorldCore {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAdjacentComparators(@NotNull Location loc) {
|
||||
Objects.requireNonNull(loc.getWorld());
|
||||
|
||||
WorldServer serverLevel = ((CraftWorld) loc.getWorld()).getHandle();
|
||||
BlockPosition blockPos = new BlockPosition(loc.getX(), loc.getY(), loc.getZ());
|
||||
Block nmsBlock = CraftMagicNumbers.getBlock(loc.getBlock().getType());
|
||||
|
||||
serverLevel.updateAdjacentComparators(blockPos, nmsBlock);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,12 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.craftbukkit.v1_9_R1.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_9_R1.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_9_R1.util.CraftMagicNumbers;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldCoreImpl implements WorldCore {
|
||||
@Override
|
||||
|
@ -86,4 +91,15 @@ public class WorldCoreImpl implements WorldCore {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAdjacentComparators(@NotNull Location loc) {
|
||||
Objects.requireNonNull(loc.getWorld());
|
||||
|
||||
WorldServer serverLevel = ((CraftWorld) loc.getWorld()).getHandle();
|
||||
BlockPosition blockPos = new BlockPosition(loc.getX(), loc.getY(), loc.getZ());
|
||||
Block nmsBlock = CraftMagicNumbers.getBlock(loc.getBlock().getType());
|
||||
|
||||
serverLevel.updateAdjacentComparators(blockPos, nmsBlock);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,12 @@ import org.bukkit.Location;
|
|||
import org.bukkit.World;
|
||||
import org.bukkit.block.CreatureSpawner;
|
||||
import org.bukkit.craftbukkit.v1_9_R2.CraftChunk;
|
||||
import org.bukkit.craftbukkit.v1_9_R2.CraftWorld;
|
||||
import org.bukkit.craftbukkit.v1_9_R2.util.CraftMagicNumbers;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldCoreImpl implements WorldCore {
|
||||
@Override
|
||||
|
@ -85,4 +90,15 @@ public class WorldCoreImpl implements WorldCore {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateAdjacentComparators(@NotNull Location loc) {
|
||||
Objects.requireNonNull(loc.getWorld());
|
||||
|
||||
WorldServer serverLevel = ((CraftWorld) loc.getWorld()).getHandle();
|
||||
BlockPosition blockPos = new BlockPosition(loc.getX(), loc.getY(), loc.getZ());
|
||||
Block nmsBlock = CraftMagicNumbers.getBlock(loc.getBlock().getType());
|
||||
|
||||
serverLevel.updateAdjacentComparators(blockPos, nmsBlock);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue