mirror of
https://github.com/EngineHub/WorldGuard.git
synced 2024-09-27 14:22:44 +02:00
Fix compilation for 1.20.5
This commit is contained in:
parent
c29edf7467
commit
4ad11151fe
@ -35,6 +35,10 @@
|
|||||||
import org.bukkit.inventory.meta.PotionMeta;
|
import org.bukkit.inventory.meta.PotionMeta;
|
||||||
import org.bukkit.potion.PotionEffect;
|
import org.bukkit.potion.PotionEffect;
|
||||||
import org.bukkit.potion.PotionEffectType;
|
import org.bukkit.potion.PotionEffectType;
|
||||||
|
import org.bukkit.potion.PotionType;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles blocked potions.
|
* Handles blocked potions.
|
||||||
@ -50,30 +54,39 @@ public BlockedPotionsListener(WorldGuardPlugin plugin) {
|
|||||||
super(plugin);
|
super(plugin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private PotionEffectType getBlockedEffectByArrow(Arrow arrow, BukkitWorldConfiguration wcfg) {
|
||||||
|
List<PotionEffect> effects = new ArrayList<>();
|
||||||
|
PotionType potionType = arrow.getBasePotionType();
|
||||||
|
if (potionType != null) {
|
||||||
|
effects.addAll(potionType.getPotionEffects());
|
||||||
|
}
|
||||||
|
effects.addAll(arrow.getCustomEffects());
|
||||||
|
for (PotionEffect potionEffect : effects) {
|
||||||
|
if (wcfg.blockPotions.contains(potionEffect.getType())) {
|
||||||
|
return potionEffect.getType();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onProjectile(DamageEntityEvent event) {
|
public void onProjectile(DamageEntityEvent event) {
|
||||||
if (event.getOriginalEvent() instanceof EntityDamageByEntityEvent) {
|
if (!(event.getOriginalEvent() instanceof EntityDamageByEntityEvent originalEvent)) {
|
||||||
EntityDamageByEntityEvent originalEvent = (EntityDamageByEntityEvent) event.getOriginalEvent();
|
return;
|
||||||
if (Entities.isPotionArrow(originalEvent.getDamager())) { // should take care of backcompat
|
}
|
||||||
|
if (!Entities.isPotionArrow(originalEvent.getDamager())) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
BukkitWorldConfiguration wcfg = getWorldConfig(event.getWorld());
|
BukkitWorldConfiguration wcfg = getWorldConfig(event.getWorld());
|
||||||
PotionEffectType blockedEffect = null;
|
PotionEffectType blockedEffect = null;
|
||||||
if (originalEvent.getDamager() instanceof SpectralArrow) {
|
if (originalEvent.getDamager() instanceof SpectralArrow) {
|
||||||
if (wcfg.blockPotions.contains(PotionEffectType.GLOWING)) {
|
if (wcfg.blockPotions.contains(PotionEffectType.GLOWING)) {
|
||||||
blockedEffect = PotionEffectType.GLOWING;
|
blockedEffect = PotionEffectType.GLOWING;
|
||||||
}
|
}
|
||||||
} else if (originalEvent.getDamager() instanceof Arrow) {
|
} else if (originalEvent.getDamager() instanceof Arrow arrow) {
|
||||||
Arrow tippedArrow = (Arrow) originalEvent.getDamager();
|
blockedEffect = getBlockedEffectByArrow(arrow, wcfg);
|
||||||
PotionEffectType baseEffect = tippedArrow.getBasePotionData().getType().getEffectType();
|
|
||||||
if (wcfg.blockPotions.contains(baseEffect)) {
|
|
||||||
blockedEffect = baseEffect;
|
|
||||||
} else {
|
|
||||||
for (PotionEffect potionEffect : tippedArrow.getCustomEffects()) {
|
|
||||||
if (wcfg.blockPotions.contains(potionEffect.getType())) {
|
|
||||||
blockedEffect = potionEffect.getType();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (blockedEffect != null) {
|
if (blockedEffect != null) {
|
||||||
Player player = event.getCause().getFirstPlayer();
|
Player player = event.getCause().getFirstPlayer();
|
||||||
@ -87,8 +100,6 @@ public void onProjectile(DamageEntityEvent event) {
|
|||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onItemInteract(UseItemEvent event) {
|
public void onItemInteract(UseItemEvent event) {
|
||||||
@ -104,27 +115,22 @@ public void onItemInteract(UseItemEvent event) {
|
|||||||
if (!wcfg.blockPotions.isEmpty()) {
|
if (!wcfg.blockPotions.isEmpty()) {
|
||||||
PotionEffectType blockedEffect = null;
|
PotionEffectType blockedEffect = null;
|
||||||
|
|
||||||
PotionMeta meta;
|
if (!(item.getItemMeta() instanceof PotionMeta meta)) {
|
||||||
if (item.getItemMeta() instanceof PotionMeta) {
|
return;
|
||||||
meta = ((PotionMeta) item.getItemMeta());
|
|
||||||
} else {
|
|
||||||
return; // ok...?
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Find the first blocked effect
|
// Find the first blocked effect
|
||||||
PotionEffectType baseEffect = meta.getBasePotionData().getType().getEffectType();
|
List<PotionEffect> effects = new ArrayList<>();
|
||||||
if (wcfg.blockPotions.contains(baseEffect)) {
|
if (meta.getBasePotionType() != null) {
|
||||||
blockedEffect = baseEffect;
|
effects.addAll(meta.getBasePotionType().getPotionEffects());
|
||||||
}
|
}
|
||||||
|
effects.addAll(meta.getCustomEffects());
|
||||||
if (blockedEffect == null && meta.hasCustomEffects()) {
|
for (PotionEffect potionEffect : effects) {
|
||||||
for (PotionEffect effect : meta.getCustomEffects()) {
|
if (wcfg.blockPotions.contains(potionEffect.getType())) {
|
||||||
if (wcfg.blockPotions.contains(effect.getType())) {
|
blockedEffect = potionEffect.getType();
|
||||||
blockedEffect = effect.getType();
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (blockedEffect != null) {
|
if (blockedEffect != null) {
|
||||||
Player player = event.getCause().getFirstPlayer();
|
Player player = event.getCause().getFirstPlayer();
|
||||||
|
@ -146,7 +146,6 @@
|
|||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.plugin.PluginManager;
|
import org.bukkit.plugin.PluginManager;
|
||||||
import org.bukkit.potion.PotionEffect;
|
import org.bukkit.potion.PotionEffect;
|
||||||
import org.bukkit.potion.PotionEffectType;
|
|
||||||
import org.bukkit.projectiles.ProjectileSource;
|
import org.bukkit.projectiles.ProjectileSource;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
@ -1087,9 +1086,9 @@ public void onLingeringSplash(LingeringPotionSplashEvent event) {
|
|||||||
public void onLingeringApply(AreaEffectCloudApplyEvent event) {
|
public void onLingeringApply(AreaEffectCloudApplyEvent event) {
|
||||||
AreaEffectCloud entity = event.getEntity();
|
AreaEffectCloud entity = event.getEntity();
|
||||||
List<PotionEffect> effects = new ArrayList<>();
|
List<PotionEffect> effects = new ArrayList<>();
|
||||||
PotionEffectType baseEffectType = entity.getBasePotionData().getType().getEffectType();
|
List<PotionEffect> baseEffectTypes = entity.getBasePotionType() == null ? null : entity.getBasePotionType().getPotionEffects();
|
||||||
if (baseEffectType != null) {
|
if (baseEffectTypes != null) {
|
||||||
effects.add(new PotionEffect(baseEffectType, 0, 0));
|
effects.addAll(baseEffectTypes);
|
||||||
}
|
}
|
||||||
if (entity.hasCustomEffects()) {
|
if (entity.hasCustomEffects()) {
|
||||||
effects.addAll(entity.getCustomEffects());
|
effects.addAll(entity.getCustomEffects());
|
||||||
@ -1174,7 +1173,7 @@ private static <T extends Event & Cancellable> void handleBlockRightClick(T even
|
|||||||
|
|
||||||
if (item != null && item.getType() == Material.END_CRYSTAL) { /*&& placed.getType() == Material.BEDROCK) {*/ // in vanilla you can only place them on bedrock but who knows what plugins will add
|
if (item != null && item.getType() == Material.END_CRYSTAL) { /*&& placed.getType() == Material.BEDROCK) {*/ // in vanilla you can only place them on bedrock but who knows what plugins will add
|
||||||
// may be overprotective as a result, but better than being underprotective
|
// may be overprotective as a result, but better than being underprotective
|
||||||
Events.fireToCancel(event, new SpawnEntityEvent(event, cause, placed.getLocation().add(0.5, 0, 0.5), EntityType.ENDER_CRYSTAL));
|
Events.fireToCancel(event, new SpawnEntityEvent(event, cause, placed.getLocation().add(0.5, 0, 0.5), EntityType.END_CRYSTAL));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,7 +25,6 @@
|
|||||||
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
|
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
|
||||||
import com.sk89q.worldguard.session.MoveType;
|
import com.sk89q.worldguard.session.MoveType;
|
||||||
import com.sk89q.worldguard.session.Session;
|
import com.sk89q.worldguard.session.Session;
|
||||||
import io.papermc.lib.PaperLib;
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.entity.AbstractHorse;
|
import org.bukkit.entity.AbstractHorse;
|
||||||
@ -34,14 +33,13 @@
|
|||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.entity.EntityMountEvent;
|
||||||
import org.bukkit.event.player.PlayerMoveEvent;
|
import org.bukkit.event.player.PlayerMoveEvent;
|
||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
import org.bukkit.event.player.PlayerRespawnEvent;
|
import org.bukkit.event.player.PlayerRespawnEvent;
|
||||||
import org.bukkit.event.vehicle.VehicleEnterEvent;
|
import org.bukkit.event.vehicle.VehicleEnterEvent;
|
||||||
import org.bukkit.plugin.PluginManager;
|
import org.bukkit.plugin.PluginManager;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
import org.spigotmc.event.entity.EntityMountEvent;
|
|
||||||
|
|
||||||
public class PlayerMoveListener extends AbstractListener {
|
public class PlayerMoveListener extends AbstractListener {
|
||||||
|
|
||||||
@ -54,9 +52,6 @@ public void registerEvents() {
|
|||||||
if (WorldGuard.getInstance().getPlatform().getGlobalStateManager().usePlayerMove) {
|
if (WorldGuard.getInstance().getPlatform().getGlobalStateManager().usePlayerMove) {
|
||||||
PluginManager pm = getPlugin().getServer().getPluginManager();
|
PluginManager pm = getPlugin().getServer().getPluginManager();
|
||||||
pm.registerEvents(this, getPlugin());
|
pm.registerEvents(this, getPlugin());
|
||||||
if (PaperLib.isSpigot()) {
|
|
||||||
pm.registerEvents(new EntityMountListener(), getPlugin());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -152,7 +147,6 @@ public void onPlayerQuit(PlayerQuitEvent event) {
|
|||||||
session.uninitialize(localPlayer);
|
session.uninitialize(localPlayer);
|
||||||
}
|
}
|
||||||
|
|
||||||
private class EntityMountListener implements Listener {
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onEntityMount(EntityMountEvent event) {
|
public void onEntityMount(EntityMountEvent event) {
|
||||||
Entity entity = event.getEntity();
|
Entity entity = event.getEntity();
|
||||||
@ -165,4 +159,3 @@ public void onEntityMount(EntityMountEvent event) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@ -69,7 +69,7 @@ public void onPlaceBlock(final PlaceBlockEvent event) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event.getCause().find(EntityType.SNOWMAN) != null) {
|
if (event.getCause().find(EntityType.SNOW_GOLEM) != null) {
|
||||||
event.filter(testState(query, Flags.SNOWMAN_TRAILS), false);
|
event.filter(testState(query, Flags.SNOWMAN_TRAILS), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ public void onBreakBlock(final BreakBlockEvent event) {
|
|||||||
event.filter(testState(query, Flags.ENDERDRAGON_BLOCK_DAMAGE), config.explosionFlagCancellation);
|
event.filter(testState(query, Flags.ENDERDRAGON_BLOCK_DAMAGE), config.explosionFlagCancellation);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event.getCause().find(EntityType.ENDER_CRYSTAL) != null) { // EnderCrystal
|
if (event.getCause().find(EntityType.END_CRYSTAL) != null) { // EnderCrystal
|
||||||
event.filter(testState(query, Flags.OTHER_EXPLOSION), config.explosionFlagCancellation);
|
event.filter(testState(query, Flags.OTHER_EXPLOSION), config.explosionFlagCancellation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -218,7 +218,7 @@ public void onBreakBlock(final BreakBlockEvent event) {
|
|||||||
String what;
|
String what;
|
||||||
|
|
||||||
/* TNT */
|
/* TNT */
|
||||||
if (event.getCause().find(EntityType.PRIMED_TNT, EntityType.MINECART_TNT) != null) {
|
if (event.getCause().find(EntityType.TNT, EntityType.TNT_MINECART) != null) {
|
||||||
canBreak = query.testBuild(BukkitAdapter.adapt(target), associable, combine(event, Flags.BLOCK_BREAK, Flags.TNT));
|
canBreak = query.testBuild(BukkitAdapter.adapt(target), associable, combine(event, Flags.BLOCK_BREAK, Flags.TNT));
|
||||||
what = "use dynamite";
|
what = "use dynamite";
|
||||||
|
|
||||||
|
@ -127,8 +127,8 @@ public static boolean isBoat(EntityType type) {
|
|||||||
*/
|
*/
|
||||||
public static boolean isMinecart(EntityType type) {
|
public static boolean isMinecart(EntityType type) {
|
||||||
return switch(type) {
|
return switch(type) {
|
||||||
case MINECART, MINECART_CHEST, MINECART_COMMAND, MINECART_FURNACE,
|
case MINECART, CHEST_MINECART, COMMAND_BLOCK_MINECART, FURNACE_MINECART,
|
||||||
MINECART_HOPPER, MINECART_MOB_SPAWNER, MINECART_TNT -> true;
|
HOPPER_MINECART, SPAWNER_MINECART, TNT_MINECART -> true;
|
||||||
default -> false;
|
default -> false;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,6 @@ private static void putMaterialTag(Tag<Material> tag, Integer value) {
|
|||||||
if (tag == null) return;
|
if (tag == null) return;
|
||||||
tag.getValues().forEach(mat -> MATERIAL_FLAGS.put(mat, value));
|
tag.getValues().forEach(mat -> MATERIAL_FLAGS.put(mat, value));
|
||||||
}
|
}
|
||||||
private static Tag<Material> SIGNS_TAG = Tag.SIGNS;
|
|
||||||
|
|
||||||
static {
|
static {
|
||||||
ENTITY_ITEMS.put(EntityType.PAINTING, Material.PAINTING);
|
ENTITY_ITEMS.put(EntityType.PAINTING, Material.PAINTING);
|
||||||
@ -64,22 +63,22 @@ private static void putMaterialTag(Tag<Material> tag, Integer value) {
|
|||||||
ENTITY_ITEMS.put(EntityType.SNOWBALL, Material.SNOWBALL);
|
ENTITY_ITEMS.put(EntityType.SNOWBALL, Material.SNOWBALL);
|
||||||
ENTITY_ITEMS.put(EntityType.FIREBALL, Material.FIRE_CHARGE);
|
ENTITY_ITEMS.put(EntityType.FIREBALL, Material.FIRE_CHARGE);
|
||||||
ENTITY_ITEMS.put(EntityType.ENDER_PEARL, Material.ENDER_PEARL);
|
ENTITY_ITEMS.put(EntityType.ENDER_PEARL, Material.ENDER_PEARL);
|
||||||
ENTITY_ITEMS.put(EntityType.THROWN_EXP_BOTTLE, Material.EXPERIENCE_BOTTLE);
|
ENTITY_ITEMS.put(EntityType.EXPERIENCE_BOTTLE, Material.EXPERIENCE_BOTTLE);
|
||||||
ENTITY_ITEMS.put(EntityType.ITEM_FRAME, Material.ITEM_FRAME);
|
ENTITY_ITEMS.put(EntityType.ITEM_FRAME, Material.ITEM_FRAME);
|
||||||
ENTITY_ITEMS.put(EntityType.GLOW_ITEM_FRAME, Material.GLOW_ITEM_FRAME);
|
ENTITY_ITEMS.put(EntityType.GLOW_ITEM_FRAME, Material.GLOW_ITEM_FRAME);
|
||||||
ENTITY_ITEMS.put(EntityType.PRIMED_TNT, Material.TNT);
|
ENTITY_ITEMS.put(EntityType.TNT, Material.TNT);
|
||||||
ENTITY_ITEMS.put(EntityType.FIREWORK, Material.FIREWORK_ROCKET);
|
ENTITY_ITEMS.put(EntityType.FIREWORK_ROCKET, Material.FIREWORK_ROCKET);
|
||||||
ENTITY_ITEMS.put(EntityType.MINECART_COMMAND, Material.COMMAND_BLOCK_MINECART);
|
ENTITY_ITEMS.put(EntityType.COMMAND_BLOCK_MINECART, Material.COMMAND_BLOCK_MINECART);
|
||||||
ENTITY_ITEMS.put(EntityType.BOAT, Material.OAK_BOAT);
|
ENTITY_ITEMS.put(EntityType.BOAT, Material.OAK_BOAT);
|
||||||
ENTITY_ITEMS.put(EntityType.MINECART, Material.MINECART);
|
ENTITY_ITEMS.put(EntityType.MINECART, Material.MINECART);
|
||||||
ENTITY_ITEMS.put(EntityType.MINECART_CHEST, Material.CHEST_MINECART);
|
ENTITY_ITEMS.put(EntityType.CHEST_MINECART, Material.CHEST_MINECART);
|
||||||
ENTITY_ITEMS.put(EntityType.MINECART_FURNACE, Material.FURNACE_MINECART);
|
ENTITY_ITEMS.put(EntityType.FURNACE_MINECART, Material.FURNACE_MINECART);
|
||||||
ENTITY_ITEMS.put(EntityType.MINECART_TNT, Material.TNT_MINECART);
|
ENTITY_ITEMS.put(EntityType.TNT_MINECART, Material.TNT_MINECART);
|
||||||
ENTITY_ITEMS.put(EntityType.MINECART_HOPPER, Material.HOPPER_MINECART);
|
ENTITY_ITEMS.put(EntityType.HOPPER_MINECART, Material.HOPPER_MINECART);
|
||||||
ENTITY_ITEMS.put(EntityType.SPLASH_POTION, Material.POTION);
|
ENTITY_ITEMS.put(EntityType.POTION, Material.POTION);
|
||||||
ENTITY_ITEMS.put(EntityType.EGG, Material.EGG);
|
ENTITY_ITEMS.put(EntityType.EGG, Material.EGG);
|
||||||
ENTITY_ITEMS.put(EntityType.ARMOR_STAND, Material.ARMOR_STAND);
|
ENTITY_ITEMS.put(EntityType.ARMOR_STAND, Material.ARMOR_STAND);
|
||||||
ENTITY_ITEMS.put(EntityType.ENDER_CRYSTAL, Material.END_CRYSTAL);
|
ENTITY_ITEMS.put(EntityType.END_CRYSTAL, Material.END_CRYSTAL);
|
||||||
|
|
||||||
MATERIAL_FLAGS.put(Material.AIR, 0);
|
MATERIAL_FLAGS.put(Material.AIR, 0);
|
||||||
MATERIAL_FLAGS.put(Material.STONE, 0);
|
MATERIAL_FLAGS.put(Material.STONE, 0);
|
||||||
@ -642,7 +641,7 @@ private static void putMaterialTag(Tag<Material> tag, Integer value) {
|
|||||||
MATERIAL_FLAGS.put(Material.PUFFERFISH_BUCKET, 0);
|
MATERIAL_FLAGS.put(Material.PUFFERFISH_BUCKET, 0);
|
||||||
MATERIAL_FLAGS.put(Material.SALMON, 0);
|
MATERIAL_FLAGS.put(Material.SALMON, 0);
|
||||||
MATERIAL_FLAGS.put(Material.SALMON_BUCKET, 0);
|
MATERIAL_FLAGS.put(Material.SALMON_BUCKET, 0);
|
||||||
MATERIAL_FLAGS.put(Material.SCUTE, 0);
|
MATERIAL_FLAGS.put(Material.TURTLE_SCUTE, 0);
|
||||||
MATERIAL_FLAGS.put(Material.SPLASH_POTION, 0);
|
MATERIAL_FLAGS.put(Material.SPLASH_POTION, 0);
|
||||||
MATERIAL_FLAGS.put(Material.TURTLE_HELMET, 0);
|
MATERIAL_FLAGS.put(Material.TURTLE_HELMET, 0);
|
||||||
MATERIAL_FLAGS.put(Material.TRIDENT, 0);
|
MATERIAL_FLAGS.put(Material.TRIDENT, 0);
|
||||||
@ -821,10 +820,6 @@ private static void putMaterialTag(Tag<Material> tag, Integer value) {
|
|||||||
MATERIAL_FLAGS.put(Material.ECHO_SHARD, 0);
|
MATERIAL_FLAGS.put(Material.ECHO_SHARD, 0);
|
||||||
MATERIAL_FLAGS.put(Material.REINFORCED_DEEPSLATE, 0);
|
MATERIAL_FLAGS.put(Material.REINFORCED_DEEPSLATE, 0);
|
||||||
|
|
||||||
// 1.20
|
|
||||||
try {
|
|
||||||
SIGNS_TAG = Tag.ALL_SIGNS;
|
|
||||||
|
|
||||||
MATERIAL_FLAGS.put(Material.BAMBOO_MOSAIC, 0);
|
MATERIAL_FLAGS.put(Material.BAMBOO_MOSAIC, 0);
|
||||||
MATERIAL_FLAGS.put(Material.BAMBOO_BLOCK, 0);
|
MATERIAL_FLAGS.put(Material.BAMBOO_BLOCK, 0);
|
||||||
MATERIAL_FLAGS.put(Material.STRIPPED_BAMBOO_BLOCK, 0);
|
MATERIAL_FLAGS.put(Material.STRIPPED_BAMBOO_BLOCK, 0);
|
||||||
@ -844,8 +839,9 @@ private static void putMaterialTag(Tag<Material> tag, Integer value) {
|
|||||||
MATERIAL_FLAGS.put(Material.PINK_PETALS, 0);
|
MATERIAL_FLAGS.put(Material.PINK_PETALS, 0);
|
||||||
MATERIAL_FLAGS.put(Material.PITCHER_POD, 0);
|
MATERIAL_FLAGS.put(Material.PITCHER_POD, 0);
|
||||||
MATERIAL_FLAGS.put(Material.NETHERITE_UPGRADE_SMITHING_TEMPLATE, 0);
|
MATERIAL_FLAGS.put(Material.NETHERITE_UPGRADE_SMITHING_TEMPLATE, 0);
|
||||||
} catch (NoSuchFieldError ignored) {
|
|
||||||
}
|
MATERIAL_FLAGS.put(Material.ARMADILLO_SCUTE, 0);
|
||||||
|
MATERIAL_FLAGS.put(Material.WOLF_ARMOR, 0);
|
||||||
|
|
||||||
// Generated via tag
|
// Generated via tag
|
||||||
putMaterialTag(Tag.WOODEN_DOORS, MODIFIED_ON_RIGHT);
|
putMaterialTag(Tag.WOODEN_DOORS, MODIFIED_ON_RIGHT);
|
||||||
@ -865,7 +861,7 @@ private static void putMaterialTag(Tag<Material> tag, Integer value) {
|
|||||||
putMaterialTag(Tag.BUTTONS, MODIFIED_ON_RIGHT);
|
putMaterialTag(Tag.BUTTONS, MODIFIED_ON_RIGHT);
|
||||||
putMaterialTag(Tag.FLOWER_POTS, MODIFIED_ON_RIGHT);
|
putMaterialTag(Tag.FLOWER_POTS, MODIFIED_ON_RIGHT);
|
||||||
putMaterialTag(Tag.WALLS, 0);
|
putMaterialTag(Tag.WALLS, 0);
|
||||||
putMaterialTag(SIGNS_TAG, 0);
|
putMaterialTag(Tag.ALL_SIGNS, 0);
|
||||||
putMaterialTag(Tag.SMALL_FLOWERS, 0);
|
putMaterialTag(Tag.SMALL_FLOWERS, 0);
|
||||||
putMaterialTag(Tag.BEDS, MODIFIED_ON_RIGHT);
|
putMaterialTag(Tag.BEDS, MODIFIED_ON_RIGHT);
|
||||||
putMaterialTag(Tag.ITEMS_MUSIC_DISCS, 0);
|
putMaterialTag(Tag.ITEMS_MUSIC_DISCS, 0);
|
||||||
@ -884,12 +880,10 @@ private static void putMaterialTag(Tag<Material> tag, Integer value) {
|
|||||||
putMaterialTag(Tag.CANDLES, MODIFIED_ON_RIGHT);
|
putMaterialTag(Tag.CANDLES, MODIFIED_ON_RIGHT);
|
||||||
putMaterialTag(Tag.CANDLE_CAKES, MODIFIED_ON_RIGHT);
|
putMaterialTag(Tag.CANDLE_CAKES, MODIFIED_ON_RIGHT);
|
||||||
putMaterialTag(Tag.CAULDRONS, MODIFIED_ON_RIGHT);
|
putMaterialTag(Tag.CAULDRONS, MODIFIED_ON_RIGHT);
|
||||||
try {
|
|
||||||
// 1.20
|
// 1.20
|
||||||
putMaterialTag(Tag.ITEMS_TRIM_TEMPLATES, 0);
|
putMaterialTag(Tag.ITEMS_TRIM_TEMPLATES, 0);
|
||||||
putMaterialTag(Tag.ITEMS_DECORATED_POT_SHERDS, 0);
|
putMaterialTag(Tag.ITEMS_DECORATED_POT_SHERDS, 0);
|
||||||
} catch (NoSuchFieldError ignored) {
|
|
||||||
}
|
|
||||||
|
|
||||||
Stream.concat(Stream.concat(
|
Stream.concat(Stream.concat(
|
||||||
Tag.CORAL_BLOCKS.getValues().stream(),
|
Tag.CORAL_BLOCKS.getValues().stream(),
|
||||||
@ -915,14 +909,14 @@ private static void putMaterialTag(Tag<Material> tag, Integer value) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// DAMAGE_EFFECTS.add(PotionEffectType.SPEED);
|
// DAMAGE_EFFECTS.add(PotionEffectType.SPEED);
|
||||||
DAMAGE_EFFECTS.add(PotionEffectType.SLOW);
|
DAMAGE_EFFECTS.add(PotionEffectType.SLOWNESS);
|
||||||
// DAMAGE_EFFECTS.add(PotionEffectType.FAST_DIGGING);
|
// DAMAGE_EFFECTS.add(PotionEffectType.FAST_DIGGING);
|
||||||
DAMAGE_EFFECTS.add(PotionEffectType.SLOW_DIGGING);
|
DAMAGE_EFFECTS.add(PotionEffectType.MINING_FATIGUE);
|
||||||
// DAMAGE_EFFECTS.add(PotionEffectType.INCREASE_DAMAGE);
|
// DAMAGE_EFFECTS.add(PotionEffectType.INCREASE_DAMAGE);
|
||||||
// DAMAGE_EFFECTS.add(PotionEffectType.HEAL);
|
// DAMAGE_EFFECTS.add(PotionEffectType.HEAL);
|
||||||
DAMAGE_EFFECTS.add(PotionEffectType.HARM);
|
DAMAGE_EFFECTS.add(PotionEffectType.INSTANT_DAMAGE);
|
||||||
// DAMAGE_EFFECTS.add(PotionEffectType.JUMP);
|
// DAMAGE_EFFECTS.add(PotionEffectType.JUMP);
|
||||||
DAMAGE_EFFECTS.add(PotionEffectType.CONFUSION);
|
DAMAGE_EFFECTS.add(PotionEffectType.NAUSEA);
|
||||||
// DAMAGE_EFFECTS.add(PotionEffectType.REGENERATION);
|
// DAMAGE_EFFECTS.add(PotionEffectType.REGENERATION);
|
||||||
// DAMAGE_EFFECTS.add(PotionEffectType.DAMAGE_RESISTANCE);
|
// DAMAGE_EFFECTS.add(PotionEffectType.DAMAGE_RESISTANCE);
|
||||||
// DAMAGE_EFFECTS.add(PotionEffectType.FIRE_RESISTANCE);
|
// DAMAGE_EFFECTS.add(PotionEffectType.FIRE_RESISTANCE);
|
||||||
@ -988,13 +982,11 @@ public static EntityType getRelatedEntity(Material material) {
|
|||||||
* @return the block material
|
* @return the block material
|
||||||
*/
|
*/
|
||||||
public static Material getBucketBlockMaterial(Material type) {
|
public static Material getBucketBlockMaterial(Material type) {
|
||||||
switch (type) {
|
return switch (type) {
|
||||||
case LAVA_BUCKET:
|
case LAVA_BUCKET -> Material.LAVA;
|
||||||
return Material.LAVA;
|
case WATER_BUCKET -> Material.WATER;
|
||||||
case WATER_BUCKET:
|
default -> Material.WATER;
|
||||||
default:
|
};
|
||||||
return Material.WATER;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1146,6 +1138,7 @@ public static boolean isSpawnEgg(Material material) {
|
|||||||
public static EntityType getEntitySpawnEgg(Material material) {
|
public static EntityType getEntitySpawnEgg(Material material) {
|
||||||
return switch (material) {
|
return switch (material) {
|
||||||
case ALLAY_SPAWN_EGG -> EntityType.ALLAY;
|
case ALLAY_SPAWN_EGG -> EntityType.ALLAY;
|
||||||
|
case ARMADILLO_SPAWN_EGG -> EntityType.ARMADILLO;
|
||||||
case AXOLOTL_SPAWN_EGG -> EntityType.AXOLOTL;
|
case AXOLOTL_SPAWN_EGG -> EntityType.AXOLOTL;
|
||||||
case SPIDER_SPAWN_EGG -> EntityType.SPIDER;
|
case SPIDER_SPAWN_EGG -> EntityType.SPIDER;
|
||||||
case BAT_SPAWN_EGG -> EntityType.BAT;
|
case BAT_SPAWN_EGG -> EntityType.BAT;
|
||||||
@ -1178,7 +1171,7 @@ public static EntityType getEntitySpawnEgg(Material material) {
|
|||||||
case IRON_GOLEM_SPAWN_EGG -> EntityType.IRON_GOLEM;
|
case IRON_GOLEM_SPAWN_EGG -> EntityType.IRON_GOLEM;
|
||||||
case LLAMA_SPAWN_EGG -> EntityType.LLAMA;
|
case LLAMA_SPAWN_EGG -> EntityType.LLAMA;
|
||||||
case MAGMA_CUBE_SPAWN_EGG -> EntityType.MAGMA_CUBE;
|
case MAGMA_CUBE_SPAWN_EGG -> EntityType.MAGMA_CUBE;
|
||||||
case MOOSHROOM_SPAWN_EGG -> EntityType.MUSHROOM_COW;
|
case MOOSHROOM_SPAWN_EGG -> EntityType.MOOSHROOM;
|
||||||
case MULE_SPAWN_EGG -> EntityType.MULE;
|
case MULE_SPAWN_EGG -> EntityType.MULE;
|
||||||
case OCELOT_SPAWN_EGG -> EntityType.OCELOT;
|
case OCELOT_SPAWN_EGG -> EntityType.OCELOT;
|
||||||
case PANDA_SPAWN_EGG -> EntityType.PANDA;
|
case PANDA_SPAWN_EGG -> EntityType.PANDA;
|
||||||
@ -1199,7 +1192,7 @@ public static EntityType getEntitySpawnEgg(Material material) {
|
|||||||
case SKELETON_SPAWN_EGG -> EntityType.SKELETON;
|
case SKELETON_SPAWN_EGG -> EntityType.SKELETON;
|
||||||
case SLIME_SPAWN_EGG -> EntityType.SLIME;
|
case SLIME_SPAWN_EGG -> EntityType.SLIME;
|
||||||
case SNIFFER_SPAWN_EGG -> EntityType.SNIFFER;
|
case SNIFFER_SPAWN_EGG -> EntityType.SNIFFER;
|
||||||
case SNOW_GOLEM_SPAWN_EGG -> EntityType.SNOWMAN;
|
case SNOW_GOLEM_SPAWN_EGG -> EntityType.SNOW_GOLEM;
|
||||||
case SQUID_SPAWN_EGG -> EntityType.SQUID;
|
case SQUID_SPAWN_EGG -> EntityType.SQUID;
|
||||||
case STRAY_SPAWN_EGG -> EntityType.STRAY;
|
case STRAY_SPAWN_EGG -> EntityType.STRAY;
|
||||||
case STRIDER_SPAWN_EGG -> EntityType.STRIDER;
|
case STRIDER_SPAWN_EGG -> EntityType.STRIDER;
|
||||||
@ -1457,9 +1450,9 @@ public static boolean isToolApplicable(Material toolMaterial, Material targetMat
|
|||||||
case YELLOW_DYE:
|
case YELLOW_DYE:
|
||||||
case GLOW_INK_SAC:
|
case GLOW_INK_SAC:
|
||||||
case INK_SAC:
|
case INK_SAC:
|
||||||
return SIGNS_TAG.isTagged(targetMaterial);
|
return Tag.ALL_SIGNS.isTagged(targetMaterial);
|
||||||
case HONEYCOMB:
|
case HONEYCOMB:
|
||||||
return isUnwaxedCopper(targetMaterial) || SIGNS_TAG.isTagged(targetMaterial);
|
return isUnwaxedCopper(targetMaterial) || Tag.ALL_SIGNS.isTagged(targetMaterial);
|
||||||
case BRUSH:
|
case BRUSH:
|
||||||
return switch (targetMaterial) {
|
return switch (targetMaterial) {
|
||||||
case SUSPICIOUS_GRAVEL, SUSPICIOUS_SAND -> true;
|
case SUSPICIOUS_GRAVEL, SUSPICIOUS_SAND -> true;
|
||||||
|
Loading…
Reference in New Issue
Block a user