implement LootFunction

This commit is contained in:
dfsek
2021-01-01 00:08:03 -07:00
parent a9df684b80
commit ce033b0956
13 changed files with 105 additions and 33 deletions

View File

@@ -9,6 +9,7 @@ import com.dfsek.terra.api.platform.block.state.BlockState;
import com.dfsek.terra.bukkit.BukkitWorld;
import com.dfsek.terra.bukkit.world.block.data.BukkitBlockData;
import com.dfsek.terra.bukkit.world.block.data.BukkitEnumAdapter;
import com.dfsek.terra.bukkit.world.block.state.BukkitBlockState;
public class BukkitBlock implements Block {
private final org.bukkit.block.Block delegate;
@@ -29,7 +30,7 @@ public class BukkitBlock implements Block {
@Override
public BlockState getState() {
return null;
return BukkitBlockState.newInstance(delegate.getState());
}
@Override

View File

@@ -5,6 +5,7 @@ import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.block.state.BlockState;
import com.dfsek.terra.bukkit.world.block.BukkitBlock;
import com.dfsek.terra.bukkit.world.block.data.BukkitBlockData;
import org.bukkit.block.Container;
public class BukkitBlockState implements BlockState {
private final org.bukkit.block.BlockState delegate;
@@ -14,6 +15,7 @@ public class BukkitBlockState implements BlockState {
}
public static BukkitBlockState newInstance(org.bukkit.block.BlockState block) {
if(block instanceof Container) return new BukkitContainer((Container) block);
return new BukkitBlockState(block);
}

View File

@@ -17,7 +17,8 @@ public class BukkitInventory implements Inventory {
@Override
public ItemStack getItem(int slot) {
return new BukkitItemStack(delegate.getItem(slot));
org.bukkit.inventory.ItemStack itemStack = delegate.getItem(slot);
return itemStack == null ? null : new BukkitItemStack(itemStack);
}
@Override