Search in sources :

Example 16 with CraftBlockData

use of org.bukkit.craftbukkit.v1_14_R1.block.data.CraftBlockData in project VanillaSource by TheHollowPlanetMC.

the class BlockChangePacketHandler method rewrite.

@Override
public Object rewrite(Object packet, EnginePlayer EnginePlayer, boolean cacheSetting) {
    ParallelUniverse universe = EnginePlayer.getUniverse();
    if (universe == null)
        return packet;
    String worldName = EnginePlayer.getBukkitPlayer().getWorld().getName();
    ParallelWorld parallelWorld = universe.getWorld(worldName);
    try {
        PacketPlayOutBlockChange blockChange = (PacketPlayOutBlockChange) packet;
        BlockPosition bp = (BlockPosition) a.get(blockChange);
        BlockData blockData = parallelWorld.getBlockData(bp.getX(), bp.getY(), bp.getZ());
        if (blockData == null)
            return packet;
        PacketPlayOutBlockChange newPacket = new PacketPlayOutBlockChange();
        a.set(newPacket, bp);
        newPacket.block = ((CraftBlockData) blockData).getState();
        return newPacket;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return packet;
}
Also used : ParallelWorld(thpmc.vanilla_source.api.world.parallel.ParallelWorld) BlockPosition(net.minecraft.server.v1_15_R1.BlockPosition) ParallelUniverse(thpmc.vanilla_source.api.world.parallel.ParallelUniverse) PacketPlayOutBlockChange(net.minecraft.server.v1_15_R1.PacketPlayOutBlockChange) BlockData(org.bukkit.block.data.BlockData) CraftBlockData(org.bukkit.craftbukkit.v1_15_R1.block.data.CraftBlockData)

Example 17 with CraftBlockData

use of org.bukkit.craftbukkit.v1_14_R1.block.data.CraftBlockData in project VanillaSource by TheHollowPlanetMC.

the class PacketManager method createBlockChangePacket.

@Nullable
public static Object createBlockChangePacket(ParallelWorld parallelWorld, int blockX, int blockY, int blockZ) {
    PacketPlayOutBlockChange packet = new PacketPlayOutBlockChange();
    BlockData blockData = parallelWorld.getBlockData(blockX, blockY, blockZ);
    if (blockData == null)
        return null;
    try {
        BlockChangePacketHandler.a.set(packet, new BlockPosition(blockX, blockY, blockZ));
        packet.block = ((CraftBlockData) blockData).getState();
        return packet;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}
Also used : BlockData(org.bukkit.block.data.BlockData) CraftBlockData(org.bukkit.craftbukkit.v1_16_R3.block.data.CraftBlockData) Nullable(org.jetbrains.annotations.Nullable)

Example 18 with CraftBlockData

use of org.bukkit.craftbukkit.v1_14_R1.block.data.CraftBlockData in project FastAsyncWorldEdit by IntellectualSites.

the class PaperweightAdapter method getBlock.

@Override
public BlockState getBlock(Location location) {
    checkNotNull(location);
    CraftWorld craftWorld = ((CraftWorld) location.getWorld());
    int x = location.getBlockX();
    int y = location.getBlockY();
    int z = location.getBlockZ();
    final ServerLevel handle = craftWorld.getHandle();
    LevelChunk chunk = handle.getChunk(x >> 4, z >> 4);
    final BlockPos blockPos = new BlockPos(x, y, z);
    final CraftBlockData blockData = chunk.getBlockState(blockPos).createCraftBlockData();
    BlockState state = BukkitAdapter.adapt(blockData);
    if (state == null) {
        org.bukkit.block.Block bukkitBlock = location.getBlock();
        state = BukkitAdapter.adapt(bukkitBlock.getBlockData());
    }
    return state;
}
Also used : ServerLevel(net.minecraft.server.level.ServerLevel) CraftBlockData(org.bukkit.craftbukkit.v1_18_R1.block.data.CraftBlockData) LevelChunk(net.minecraft.world.level.chunk.LevelChunk) BlockState(com.sk89q.worldedit.world.block.BlockState) BlockPos(net.minecraft.core.BlockPos) CraftWorld(org.bukkit.craftbukkit.v1_18_R1.CraftWorld)

Example 19 with CraftBlockData

use of org.bukkit.craftbukkit.v1_14_R1.block.data.CraftBlockData in project Denizen by DenizenScript.

the class EntityHelperImpl method setFallingBlockType.

@Override
public void setFallingBlockType(FallingBlock entity, BlockData block) {
    BlockState state = ((CraftBlockData) block).getState();
    FallingBlockEntity nmsEntity = ((CraftFallingBlock) entity).getHandle();
    try {
        FALLINGBLOCK_TYPE_SETTER.invoke(nmsEntity, state);
    } catch (Throwable ex) {
        Debug.echoError(ex);
    }
}
Also used : FallingBlockEntity(net.minecraft.world.entity.item.FallingBlockEntity) CraftBlockData(org.bukkit.craftbukkit.v1_17_R1.block.data.CraftBlockData) BlockState(net.minecraft.world.level.block.state.BlockState)

Example 20 with CraftBlockData

use of org.bukkit.craftbukkit.v1_14_R1.block.data.CraftBlockData in project Denizen by DenizenScript.

the class EntityHelperImpl method setFallingBlockType.

@Override
public void setFallingBlockType(FallingBlock entity, BlockData block) {
    BlockState state = ((CraftBlockData) block).getState();
    FallingBlockEntity nmsEntity = ((CraftFallingBlock) entity).getHandle();
    try {
        FALLINGBLOCK_TYPE_SETTER.invoke(nmsEntity, state);
    } catch (Throwable ex) {
        Debug.echoError(ex);
    }
}
Also used : FallingBlockEntity(net.minecraft.world.entity.item.FallingBlockEntity) CraftBlockData(org.bukkit.craftbukkit.v1_18_R2.block.data.CraftBlockData) BlockState(net.minecraft.world.level.block.state.BlockState)

Aggregations

BlockData (org.bukkit.block.data.BlockData)12 BlockState (net.minecraft.world.level.block.state.BlockState)9 CraftBlockData (org.bukkit.craftbukkit.v1_16_R3.block.data.CraftBlockData)9 CraftBlockData (org.bukkit.craftbukkit.v1_15_R1.block.data.CraftBlockData)8 Nullable (org.jetbrains.annotations.Nullable)6 FallingBlockEntity (net.minecraft.world.entity.item.FallingBlockEntity)5 BlockPosition (net.minecraft.server.v1_15_R1.BlockPosition)4 ParallelWorld (thpmc.engine.api.world.parallel.ParallelWorld)4 ParallelWorld (thpmc.vanilla_source.api.world.parallel.ParallelWorld)4 BlockPos (net.minecraft.core.BlockPos)3 ServerLevel (net.minecraft.server.level.ServerLevel)3 BlockPosition (net.minecraft.server.v1_16_R3.BlockPosition)3 CraftBlockData (org.bukkit.craftbukkit.v1_17_R1.block.data.CraftBlockData)3 CraftBlockData (org.bukkit.craftbukkit.v1_18_R1.block.data.CraftBlockData)3 CraftBlockData (org.bukkit.craftbukkit.v1_18_R2.block.data.CraftBlockData)3 ParallelUniverse (thpmc.engine.api.world.parallel.ParallelUniverse)3 ParallelUniverse (thpmc.vanilla_source.api.world.parallel.ParallelUniverse)3 java.util (java.util)2 List (java.util.List)2 BlockState (net.minecraft.block.BlockState)2