9
0
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:
XiaoMoMi
2024-09-07 18:38:17 +08:00
parent 558ced3517
commit 6ca6281507
7 changed files with 65 additions and 10 deletions

View File

@@ -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())) {

View File

@@ -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;

View File

@@ -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());

View File

@@ -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;