mirror of
https://github.com/Xiao-MoMi/Custom-Crops.git
synced 2025-12-27 02:49:11 +00:00
Improved ignored materials
This commit is contained in:
@@ -54,16 +54,17 @@ import org.bukkit.event.player.PlayerItemDamageEvent;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.*;
|
||||
|
||||
public abstract class AbstractCustomEventListener implements Listener {
|
||||
|
||||
private final HashSet<EntityType> entities = new HashSet<>();
|
||||
private final HashSet<Material> blocks = new HashSet<>();
|
||||
|
||||
protected Set<Material> ignoredMaterials() {
|
||||
return blocks;
|
||||
}
|
||||
|
||||
protected final AbstractItemManager itemManager;
|
||||
|
||||
public AbstractCustomEventListener(AbstractItemManager itemManager) {
|
||||
@@ -108,7 +109,7 @@ public abstract class AbstractCustomEventListener implements Listener {
|
||||
Block block = event.getClickedBlock();
|
||||
assert block != null;
|
||||
Material type = block.getType();
|
||||
if (blocks.contains(type)) {
|
||||
if (ignoredMaterials().contains(type)) {
|
||||
return;
|
||||
}
|
||||
ItemStack itemStack = event.getItem();
|
||||
@@ -149,7 +150,7 @@ public abstract class AbstractCustomEventListener implements Listener {
|
||||
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
|
||||
public void onPlaceBlock(BlockPlaceEvent event) {
|
||||
Block block = event.getBlock();
|
||||
if (blocks.contains(block.getType())) {
|
||||
if (ignoredMaterials().contains(block.getType())) {
|
||||
return;
|
||||
}
|
||||
if (ConfigManager.overriddenCrops().contains(block.getType())) {
|
||||
@@ -169,7 +170,7 @@ public abstract class AbstractCustomEventListener implements Listener {
|
||||
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
|
||||
public void onBreakBlock(BlockBreakEvent event) {
|
||||
Block block = event.getBlock();
|
||||
if (blocks.contains(block.getType())) {
|
||||
if (ignoredMaterials().contains(block.getType())) {
|
||||
return;
|
||||
}
|
||||
if (ConfigManager.overriddenCrops().contains(block.getType())) {
|
||||
|
||||
@@ -48,7 +48,6 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
||||
@@ -23,6 +23,7 @@ import net.momirealms.customcrops.api.context.Context;
|
||||
import net.momirealms.customcrops.api.context.ContextKeys;
|
||||
import net.momirealms.customcrops.api.core.*;
|
||||
import net.momirealms.customcrops.api.core.block.CropBlock;
|
||||
import net.momirealms.customcrops.api.core.block.PotBlock;
|
||||
import net.momirealms.customcrops.api.core.mechanic.crop.CropConfig;
|
||||
import net.momirealms.customcrops.api.core.mechanic.crop.CropStageConfig;
|
||||
import net.momirealms.customcrops.api.core.mechanic.pot.PotConfig;
|
||||
@@ -92,6 +93,9 @@ public class SeedItem extends AbstractCustomCropsItem {
|
||||
}
|
||||
final ItemStack itemInHand = event.itemInHand();
|
||||
|
||||
// try getting or fixing pot data
|
||||
((PotBlock) BuiltInBlockMechanics.POT.mechanic()).fixOrGetState(world, pos3.add(0,-1,0), potConfig, event.relatedID());
|
||||
// create crop data
|
||||
CustomCropsBlockState state = BuiltInBlockMechanics.CROP.createBlockState();
|
||||
CropBlock cropBlock = (CropBlock) state.type();
|
||||
cropBlock.id(state, cropConfig.id());
|
||||
|
||||
@@ -23,8 +23,6 @@ import net.momirealms.customcrops.api.core.SynchronizedCompoundMap;
|
||||
import net.momirealms.customcrops.api.core.block.CustomCropsBlock;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class CustomCropsBlockStateImpl implements CustomCropsBlockState {
|
||||
|
||||
private final SynchronizedCompoundMap compoundMap;
|
||||
|
||||
@@ -21,12 +21,31 @@ import dev.lone.itemsadder.api.Events.*;
|
||||
import net.momirealms.customcrops.api.core.AbstractCustomEventListener;
|
||||
import net.momirealms.customcrops.api.core.AbstractItemManager;
|
||||
import net.momirealms.customcrops.api.util.DummyCancellable;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.inventory.EquipmentSlot;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class ItemsAdderListener extends AbstractCustomEventListener {
|
||||
|
||||
private static final Set<Material> IGNORED = new HashSet<>(
|
||||
List.of(
|
||||
Material.NOTE_BLOCK,
|
||||
Material.MUSHROOM_STEM, Material.BROWN_MUSHROOM_BLOCK, Material.RED_MUSHROOM_BLOCK,
|
||||
Material.TRIPWIRE,
|
||||
Material.CHORUS_PLANT
|
||||
)
|
||||
);
|
||||
|
||||
@Override
|
||||
protected Set<Material> ignoredMaterials() {
|
||||
return IGNORED;
|
||||
}
|
||||
|
||||
public ItemsAdderListener(AbstractItemManager itemManager) {
|
||||
super(itemManager);
|
||||
}
|
||||
|
||||
@@ -28,10 +28,27 @@ import io.th0rgal.oraxen.api.events.stringblock.OraxenStringBlockInteractEvent;
|
||||
import io.th0rgal.oraxen.api.events.stringblock.OraxenStringBlockPlaceEvent;
|
||||
import net.momirealms.customcrops.api.core.AbstractCustomEventListener;
|
||||
import net.momirealms.customcrops.api.core.AbstractItemManager;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.event.EventHandler;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class OraxenListener extends AbstractCustomEventListener {
|
||||
|
||||
private static final Set<Material> IGNORED = new HashSet<>(
|
||||
List.of(
|
||||
Material.NOTE_BLOCK,
|
||||
Material.TRIPWIRE
|
||||
)
|
||||
);
|
||||
|
||||
@Override
|
||||
protected Set<Material> ignoredMaterials() {
|
||||
return IGNORED;
|
||||
}
|
||||
|
||||
public OraxenListener(AbstractItemManager itemManager) {
|
||||
super(itemManager);
|
||||
}
|
||||
|
||||
@@ -28,10 +28,27 @@ import io.th0rgal.oraxen.api.events.furniture.OraxenFurnitureInteractEvent;
|
||||
import io.th0rgal.oraxen.api.events.furniture.OraxenFurniturePlaceEvent;
|
||||
import net.momirealms.customcrops.api.core.AbstractCustomEventListener;
|
||||
import net.momirealms.customcrops.api.core.AbstractItemManager;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.event.EventHandler;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class OraxenListener extends AbstractCustomEventListener {
|
||||
|
||||
private static final Set<Material> IGNORED = new HashSet<>(
|
||||
List.of(
|
||||
Material.NOTE_BLOCK,
|
||||
Material.TRIPWIRE
|
||||
)
|
||||
);
|
||||
|
||||
@Override
|
||||
protected Set<Material> ignoredMaterials() {
|
||||
return IGNORED;
|
||||
}
|
||||
|
||||
public OraxenListener(AbstractItemManager itemManager) {
|
||||
super(itemManager);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user