Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 11 additions & 5 deletions src/main/java/de/jeff_media/customblocks/CustomBlock.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,18 @@
import org.bukkit.block.Block;
import org.bukkit.block.data.BlockData;
import org.bukkit.entity.Entity;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.Plugin;

import java.util.*;
import java.util.stream.Collectors;

@Getter
public abstract class CustomBlock /*implements ConfigurationSerializable */{

@Getter @Setter protected Block block;
@Getter @Setter protected BlockData originalBlockData;
@Getter protected List<UUID> entities = new ArrayList<>();
@Setter protected Block block;
@Setter protected BlockData originalBlockData;
protected List<UUID> entities = new ArrayList<>();

public static CustomBlock fromStringOrDefault(String fullId, Material fallback) {
try {
Expand Down Expand Up @@ -103,13 +105,17 @@ public void remove(boolean unsetBlock) {
entities.clear();
}

public ItemStack toItemStack(){
return null;
}

public CustomBlock(String id) {
this.id = id;
};
}

public abstract String getNamespace();

@Getter protected final String id;
protected final String id;

public abstract Material getMaterial();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import org.bukkit.OfflinePlayer;
import org.bukkit.block.Block;
import org.bukkit.entity.ArmorStand;

import org.bukkit.inventory.ItemStack;


public class ItemsAdderBlock extends CustomBlock {
Expand Down Expand Up @@ -112,4 +112,12 @@ public Material getMaterial() {
}
}

@Override
public ItemStack toItemStack() {

CustomStack customStack = CustomFurniture.getInstance(getId());
if(customStack == null) return null;
return customStack.getItemStack();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import com.jeff_media.jefflib.exceptions.InvalidBlockDataException;
import com.nexomc.nexo.api.NexoBlocks;
import com.nexomc.nexo.api.NexoFurniture;
import com.nexomc.nexo.api.NexoItems;
import com.nexomc.nexo.items.ItemBuilder;
import com.nexomc.nexo.mechanics.custom_block.noteblock.NoteBlockMechanicFactory;
import com.nexomc.nexo.mechanics.furniture.FurnitureMechanic;
import de.jeff_media.customblocks.CustomBlock;
Expand All @@ -13,6 +15,7 @@
import org.bukkit.block.BlockFace;
import org.bukkit.entity.Entity;
import org.bukkit.entity.ItemDisplay;
import org.bukkit.inventory.ItemStack;

import java.util.Objects;

Expand Down Expand Up @@ -103,6 +106,14 @@ public Material getMaterial() {
}
}

@Override
public ItemStack toItemStack() {

ItemBuilder itemBuilder = NexoItems.itemFromId(getId());
if(itemBuilder == null) return null;
return itemBuilder.build();
}

private enum ItemType {
NOTE_BLOCK, FURNITURE
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import com.jeff_media.jefflib.exceptions.InvalidBlockDataException;
import de.jeff_media.customblocks.CustomBlock;
import de.jeff_media.customblocks.CustomBlockUtils;
import io.th0rgal.oraxen.api.OraxenItems;
import io.th0rgal.oraxen.items.ItemBuilder;
import io.th0rgal.oraxen.mechanics.Mechanic;
import io.th0rgal.oraxen.mechanics.MechanicFactory;
import io.th0rgal.oraxen.mechanics.MechanicsManager;
Expand Down Expand Up @@ -105,6 +107,14 @@ public String getNamespace() {
return "oraxen";
}

@Override
public ItemStack toItemStack() {

ItemBuilder itemBuilder = OraxenItems.getItemById(getId());
if(itemBuilder == null) return null;
return itemBuilder.build();
}

@Override
public void remove() {
if (furnitureMechanic != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,14 @@
import org.bukkit.OfflinePlayer;
import org.bukkit.block.Block;
import org.bukkit.block.data.BlockData;
import org.bukkit.inventory.ItemStack;

import java.util.Locale;

@Setter
@Getter
public class VanillaBlock extends CustomBlock {

@Getter
@Setter
private final BlockData blockData;

public VanillaBlock(Material mat) {
Expand Down Expand Up @@ -61,6 +62,11 @@ public void place(Block block, OfflinePlayer player) {
block.setBlockData(blockData);
}

@Override
public ItemStack toItemStack() {
return new ItemStack(getMaterial());
}

@Override
public String toString() {
return "VanillaBlock{" + "blockData=" + blockData + "} " + super.toString();
Expand Down