mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-08-01 20:15:28 +02:00
merge master
This commit is contained in:
@@ -22,6 +22,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
public final class ItemUtils {
|
||||
/**
|
||||
@@ -413,31 +414,31 @@ public final class ItemUtils {
|
||||
*/
|
||||
public static boolean isHerbalismDrop(ItemStack item) {
|
||||
//TODO: 1.14 This needs to be updated
|
||||
switch (item.getType()) {
|
||||
case WHEAT:
|
||||
case WHEAT_SEEDS:
|
||||
case CARROT:
|
||||
case CHORUS_FRUIT:
|
||||
case CHORUS_FLOWER:
|
||||
case POTATO:
|
||||
case BEETROOT:
|
||||
case BEETROOTS:
|
||||
case BEETROOT_SEEDS:
|
||||
case NETHER_WART:
|
||||
case BROWN_MUSHROOM:
|
||||
case RED_MUSHROOM:
|
||||
case ROSE_BUSH:
|
||||
case DANDELION:
|
||||
case CACTUS:
|
||||
case SUGAR_CANE:
|
||||
case MELON:
|
||||
case MELON_SEEDS:
|
||||
case PUMPKIN:
|
||||
case PUMPKIN_SEEDS:
|
||||
case LILY_PAD:
|
||||
case VINE:
|
||||
case TALL_GRASS:
|
||||
case COCOA_BEANS:
|
||||
switch (item.getType().getKey().getKey().toLowerCase()) {
|
||||
case "wheat":
|
||||
case "wheat_seeds":
|
||||
case "carrot":
|
||||
case "chorus_fruit":
|
||||
case "chorus_flower":
|
||||
case "potato":
|
||||
case "beetroot":
|
||||
case "beetroots":
|
||||
case "beetroot_seeds":
|
||||
case "nether_wart":
|
||||
case "brown_mushroom":
|
||||
case "red_mushroom":
|
||||
case "rose_bush":
|
||||
case "dandelion":
|
||||
case "cactus":
|
||||
case "sugar_cane":
|
||||
case "melon":
|
||||
case "melon_seeds":
|
||||
case "pumpkin":
|
||||
case "pumpkin_seeds":
|
||||
case "lily_pad":
|
||||
case "vine":
|
||||
case "tall_grass":
|
||||
case "cocoa_beans":
|
||||
return true;
|
||||
|
||||
default:
|
||||
@@ -445,6 +446,7 @@ public final class ItemUtils {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Checks to see if an item is a mob drop.
|
||||
*
|
||||
|
@@ -1017,6 +1017,7 @@ public class MaterialMapStore {
|
||||
private void fillTreeFellerDestructibleWhiteList()
|
||||
{
|
||||
treeFellerDestructibleWhiteList.add("oak_leaves");
|
||||
treeFellerDestructibleWhiteList.add("cherry_leaves");
|
||||
treeFellerDestructibleWhiteList.add("acacia_leaves");
|
||||
treeFellerDestructibleWhiteList.add("birch_leaves");
|
||||
treeFellerDestructibleWhiteList.add("dark_oak_leaves");
|
||||
@@ -1171,6 +1172,7 @@ public class MaterialMapStore {
|
||||
|
||||
private void fillToolBlackList()
|
||||
{
|
||||
toolBlackList.add("chiseled_bookshelf");
|
||||
toolBlackList.add("black_bed");
|
||||
toolBlackList.add("blue_bed");
|
||||
toolBlackList.add("brown_bed");
|
||||
@@ -1256,17 +1258,28 @@ public class MaterialMapStore {
|
||||
toolBlackList.add("yellow_shulker_box");
|
||||
toolBlackList.add("shulker_box");
|
||||
toolBlackList.add("acacia_sign");
|
||||
toolBlackList.add("acacia_hanging_sign");
|
||||
toolBlackList.add("acacia_wall_sign");
|
||||
toolBlackList.add("birch_sign");
|
||||
toolBlackList.add("birch_hanging_sign");
|
||||
toolBlackList.add("birch_wall_sign");
|
||||
toolBlackList.add("dark_oak_sign");
|
||||
toolBlackList.add("dark_oak_hanging_sign");
|
||||
toolBlackList.add("dark_oak_wall_sign");
|
||||
toolBlackList.add("jungle_sign");
|
||||
toolBlackList.add("jungle_hanging_sign");
|
||||
toolBlackList.add("jungle_wall_sign");
|
||||
toolBlackList.add("spruce_sign");
|
||||
toolBlackList.add("spruce_hanging_sign");
|
||||
toolBlackList.add("spruce_wall_sign");
|
||||
toolBlackList.add("oak_sign");
|
||||
toolBlackList.add("oak_hanging_sign");
|
||||
toolBlackList.add("oak_wall_sign");
|
||||
toolBlackList.add("cherry_sign");
|
||||
toolBlackList.add("cherry_hanging_sign");
|
||||
toolBlackList.add("cherry_wall_sign");
|
||||
toolBlackList.add("stripped_cherry_log");
|
||||
toolBlackList.add("stripped_cherry_wood");
|
||||
toolBlackList.add("stripped_acacia_log");
|
||||
toolBlackList.add("stripped_acacia_wood");
|
||||
toolBlackList.add("stripped_birch_log");
|
||||
@@ -1308,6 +1321,7 @@ public class MaterialMapStore {
|
||||
toolBlackList.add("lodestone");
|
||||
toolBlackList.add("respawn_anchor");
|
||||
toolBlackList.add("sweet_berry_bush");
|
||||
toolBlackList.add("smithing_table");
|
||||
}
|
||||
|
||||
public boolean isIntendedToolPickaxe(@NotNull Material material) {
|
||||
|
@@ -8,6 +8,7 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer;
|
||||
import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
|
||||
import com.gmail.nossr50.datatypes.skills.SubSkillType;
|
||||
import com.gmail.nossr50.events.fake.FakeEntityDamageByEntityEvent;
|
||||
import com.gmail.nossr50.events.fake.FakeEntityDamageEvent;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.metadata.MobMetaFlagType;
|
||||
import com.gmail.nossr50.metadata.MobMetadataService;
|
||||
@@ -885,8 +886,14 @@ public final class CombatUtils {
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean canDamage(@NotNull Entity attacker, @NotNull Entity target, @NotNull DamageCause damageCause, double damage) {
|
||||
EntityDamageEvent damageEvent = new FakeEntityDamageByEntityEvent(attacker, target, damageCause, damage);
|
||||
public static boolean canDamage(@Nullable Entity attacker, @NotNull Entity target, @NotNull DamageCause damageCause, double damage) {
|
||||
EntityDamageEvent damageEvent;
|
||||
if (attacker != null) {
|
||||
damageEvent = new FakeEntityDamageByEntityEvent(attacker, target, damageCause, damage);
|
||||
} else {
|
||||
damageEvent = new FakeEntityDamageEvent(target, damageCause, damage);
|
||||
}
|
||||
|
||||
mcMMO.p.getServer().getPluginManager().callEvent(damageEvent);
|
||||
|
||||
return !damageEvent.isCancelled();
|
||||
|
Reference in New Issue
Block a user