mirror of
https://github.com/Xiao-MoMi/Custom-Crops.git
synced 2025-12-27 19:09:09 +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;
|
||||
|
||||
Reference in New Issue
Block a user