mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-25 14:46:46 +01:00
Merge 2.1.50
This commit is contained in:
commit
986162803b
@ -1,3 +1,27 @@
|
|||||||
|
Version 2.1.50
|
||||||
|
Fixed a bug where early game XP boost (level 1-5) didn't function in certain circumstances
|
||||||
|
Updated German locale (thanks OverCrave)
|
||||||
|
Added missing Herbalism XP values for: Bamboo, Cornflower, Lily of the valley, Wither rose (thanks Zed-I)
|
||||||
|
Added missing Mining XP values for: Stone Bricks, Cracked Stone Bricks, Mossy Stone Bricks, Chiseled Stone Bricks, Prismarine Bricks, Dark Prismarine, Sea Lantern (thanks Zed-I)
|
||||||
|
Added missing Combat XP multiplier for: Wandering Trader (thanks Zed-I)
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
If you haven't upgraded mcMMO since version 2.1.47 or before you will not need to do these steps as the experience file will update once automatically.
|
||||||
|
You can either delete experience.yml to generate a new one or edit it manually
|
||||||
|
This is what the default experience.yml looks like
|
||||||
|
https://paste.gg/p/anonymous/946f62ce7dff4ab7a87cae70c0266313
|
||||||
|
|
||||||
|
|
||||||
|
Version 2.1.49
|
||||||
|
Added sweet berry bush to Herbalism XP (Update your experience.yml config or delete it to gen a new one)
|
||||||
|
Fixed a bug where falling blocks were not marked as unnatural in water
|
||||||
|
Fixed a bug where tool lower notifications were being called async when they are sync only
|
||||||
|
Fixed NPE when checking inventory location
|
||||||
|
Improved herbalism compatibility with anti-cheat (thanks LogGits)
|
||||||
|
|
||||||
|
NOTE: This is what the default herbalism XP table looks like
|
||||||
|
https://paste.gg/p/anonymous/1022088f20cf44298870930e9bc58e8a
|
||||||
|
|
||||||
Version 2.1.48
|
Version 2.1.48
|
||||||
1.14 Support
|
1.14 Support
|
||||||
Added Cats, Foxes, and Pandas to Taming XP rewards
|
Added Cats, Foxes, and Pandas to Taming XP rewards
|
||||||
|
@ -33,16 +33,13 @@ import org.bukkit.Location;
|
|||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.Tag;
|
import org.bukkit.Tag;
|
||||||
import org.bukkit.block.*;
|
import org.bukkit.block.*;
|
||||||
import org.bukkit.entity.EntityType;
|
|
||||||
import org.bukkit.entity.Item;
|
import org.bukkit.entity.Item;
|
||||||
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.Listener;
|
||||||
import org.bukkit.event.block.*;
|
import org.bukkit.event.block.*;
|
||||||
import org.bukkit.event.entity.EntityChangeBlockEvent;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.metadata.FixedMetadataValue;
|
|
||||||
import org.bukkit.metadata.MetadataValue;
|
import org.bukkit.metadata.MetadataValue;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -216,37 +213,6 @@ public class BlockListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Monitor falling blocks.
|
|
||||||
*
|
|
||||||
* @param event The event to watch
|
|
||||||
*/
|
|
||||||
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
|
|
||||||
public void onFallingBlock(EntityChangeBlockEvent event) {
|
|
||||||
/* WORLD BLACKLIST CHECK */
|
|
||||||
if (WorldBlacklist.isWorldBlacklisted(event.getBlock().getWorld()))
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (BlockUtils.shouldBeWatched(event.getBlock().getState()) && event.getEntityType().equals(EntityType.FALLING_BLOCK)) {
|
|
||||||
if (event.getTo().equals(Material.AIR) && mcMMO.getPlaceStore().isTrue(event.getBlock())) {
|
|
||||||
event.getEntity().setMetadata("mcMMOBlockFall", new FixedMetadataValue(plugin, event.getBlock().getLocation()));
|
|
||||||
} else {
|
|
||||||
List<MetadataValue> values = event.getEntity().getMetadata("mcMMOBlockFall");
|
|
||||||
|
|
||||||
if (!values.isEmpty()) {
|
|
||||||
|
|
||||||
if (values.get(0).value() == null) return;
|
|
||||||
Block spawn = ((org.bukkit.Location) values.get(0).value()).getBlock();
|
|
||||||
|
|
||||||
|
|
||||||
mcMMO.getPlaceStore().setTrue(event.getBlock());
|
|
||||||
mcMMO.getPlaceStore().setFalse(spawn);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Monitor BlockPlace events.
|
* Monitor BlockPlace events.
|
||||||
*
|
*
|
||||||
|
@ -147,7 +147,9 @@ public class EntityListener implements Listener {
|
|||||||
// When the event is fired for the falling block that changes back to a
|
// When the event is fired for the falling block that changes back to a
|
||||||
// normal block
|
// normal block
|
||||||
// event.getBlock().getType() returns AIR
|
// event.getBlock().getType() returns AIR
|
||||||
if (!BlockUtils.shouldBeWatched(block.getState()) && block.getType() != Material.AIR) {
|
if (!BlockUtils.shouldBeWatched(block.getState())
|
||||||
|
&& block.getState().getType() != Material.WATER
|
||||||
|
&& block.getType() != Material.AIR) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -380,7 +380,10 @@ public class InventoryListener implements Listener {
|
|||||||
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
|
||||||
public void onInventoryMoveItemEvent(InventoryMoveItemEvent event) {
|
public void onInventoryMoveItemEvent(InventoryMoveItemEvent event) {
|
||||||
/* WORLD BLACKLIST CHECK */
|
/* WORLD BLACKLIST CHECK */
|
||||||
if (WorldBlacklist.isWorldBlacklisted(event.getSource().getLocation().getWorld()))
|
|
||||||
|
//Location can be null here
|
||||||
|
if(event.getSource().getLocation() != null)
|
||||||
|
if(WorldBlacklist.isWorldBlacklisted(event.getSource().getLocation().getWorld()))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Inventory inventory = event.getDestination();
|
Inventory inventory = event.getDestination();
|
||||||
|
@ -31,6 +31,8 @@ import com.gmail.nossr50.util.sounds.SoundType;
|
|||||||
import com.gmail.nossr50.worldguard.WorldGuardManager;
|
import com.gmail.nossr50.worldguard.WorldGuardManager;
|
||||||
import com.gmail.nossr50.worldguard.WorldGuardUtils;
|
import com.gmail.nossr50.worldguard.WorldGuardUtils;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
|
import com.gmail.nossr50.events.fake.FakePlayerAnimationEvent;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
@ -744,16 +746,17 @@ public class PlayerListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FakePlayerAnimationEvent fakeSwing = new FakePlayerAnimationEvent(event.getPlayer()); //PlayerAnimationEvent compat
|
||||||
if (herbalismManager.canGreenThumbBlock(blockState)) {
|
if (herbalismManager.canGreenThumbBlock(blockState)) {
|
||||||
|
Bukkit.getPluginManager().callEvent(fakeSwing);
|
||||||
player.getInventory().setItemInMainHand(new ItemStack(Material.WHEAT_SEEDS, heldItem.getAmount() - 1));
|
player.getInventory().setItemInMainHand(new ItemStack(Material.WHEAT_SEEDS, heldItem.getAmount() - 1));
|
||||||
|
|
||||||
if (herbalismManager.processGreenThumbBlocks(blockState) && EventUtils.simulateBlockBreak(block, player, false)) {
|
if (herbalismManager.processGreenThumbBlocks(blockState) && EventUtils.simulateBlockBreak(block, player, false)) {
|
||||||
blockState.update(true);
|
blockState.update(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* SHROOM THUMB CHECK */
|
/* SHROOM THUMB CHECK */
|
||||||
else if (herbalismManager.canUseShroomThumb(blockState)) {
|
else if (herbalismManager.canUseShroomThumb(blockState)) {
|
||||||
|
Bukkit.getPluginManager().callEvent(fakeSwing);
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
if (herbalismManager.processShroomThumb(blockState) && EventUtils.simulateBlockBreak(block, player, false)) {
|
if (herbalismManager.processShroomThumb(blockState) && EventUtils.simulateBlockBreak(block, player, false)) {
|
||||||
blockState.update(true);
|
blockState.update(true);
|
||||||
|
@ -88,6 +88,17 @@ public class SelfListener implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int earlyLevelBonusXPCap = mcMMO.isRetroModeEnabled() ? 50 : 5;
|
||||||
|
|
||||||
|
int earlyGameBonusXP = 0;
|
||||||
|
|
||||||
|
//Give some bonus XP for low levels
|
||||||
|
if(mcMMOPlayer.getSkillLevel(primarySkillType) < earlyLevelBonusXPCap)
|
||||||
|
{
|
||||||
|
earlyGameBonusXP += (mcMMOPlayer.getXpToLevel(primarySkillType) * 0.05);
|
||||||
|
event.setRawXpGained(event.getRawXpGained() + earlyGameBonusXP);
|
||||||
|
}
|
||||||
|
|
||||||
int threshold = ExperienceConfig.getInstance().getDiminishedReturnsThreshold(primarySkillType);
|
int threshold = ExperienceConfig.getInstance().getDiminishedReturnsThreshold(primarySkillType);
|
||||||
|
|
||||||
if (threshold <= 0 || !ExperienceConfig.getInstance().getDiminishedReturnsEnabled()) {
|
if (threshold <= 0 || !ExperienceConfig.getInstance().getDiminishedReturnsEnabled()) {
|
||||||
@ -95,7 +106,6 @@ public class SelfListener implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (event.getRawXpGained() <= 0) {
|
if (event.getRawXpGained() <= 0) {
|
||||||
// Don't calculate for XP subtraction
|
// Don't calculate for XP subtraction
|
||||||
return;
|
return;
|
||||||
@ -105,16 +115,6 @@ public class SelfListener implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int earlyLevelBonusXPCap = mcMMO.isRetroModeEnabled() ? 50 : 5;
|
|
||||||
|
|
||||||
int earlyGameBonusXP = 0;
|
|
||||||
|
|
||||||
//Give some bonus XP for low levels
|
|
||||||
if (mcMMOPlayer.getSkillLevel(primarySkillType) < earlyLevelBonusXPCap) {
|
|
||||||
earlyGameBonusXP += (mcMMOPlayer.getXpToLevel(primarySkillType) * 0.05);
|
|
||||||
event.setRawXpGained(event.getRawXpGained() + earlyGameBonusXP);
|
|
||||||
}
|
|
||||||
|
|
||||||
final float rawXp = event.getRawXpGained();
|
final float rawXp = event.getRawXpGained();
|
||||||
|
|
||||||
float guaranteedMinimum = ExperienceConfig.getInstance().getDiminishedReturnsCap() * rawXp;
|
float guaranteedMinimum = ExperienceConfig.getInstance().getDiminishedReturnsCap() * rawXp;
|
||||||
|
@ -63,7 +63,7 @@ public class AbilityDisableTask extends BukkitRunnable {
|
|||||||
|
|
||||||
|
|
||||||
SkillUtils.sendSkillMessage(player, NotificationType.SUPER_ABILITY_ALERT_OTHERS, ability.getAbilityPlayerOff());
|
SkillUtils.sendSkillMessage(player, NotificationType.SUPER_ABILITY_ALERT_OTHERS, ability.getAbilityPlayerOff());
|
||||||
new AbilityCooldownTask(mcMMOPlayer, ability).runTaskLaterAsynchronously(mcMMO.p, PerksUtils.handleCooldownPerks(player, ability.getCooldown()) * Misc.TICK_CONVERSION_FACTOR);
|
new AbilityCooldownTask(mcMMOPlayer, ability).runTaskLater(mcMMO.p, PerksUtils.handleCooldownPerks(player, ability.getCooldown()) * Misc.TICK_CONVERSION_FACTOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void resendChunkRadiusAt(Player player) {
|
private void resendChunkRadiusAt(Player player) {
|
||||||
|
@ -174,9 +174,7 @@ public class HerbalismManager extends SkillManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean isOneBlockPlant(Material material) {
|
public boolean isOneBlockPlant(Material material) {
|
||||||
return !(material == Material.CACTUS || material == Material.CHORUS_PLANT
|
return !mcMMO.getMaterialMapStore().isMultiBlock(material);
|
||||||
|| material == Material.SUGAR_CANE || material == Material.KELP_PLANT || material == Material.KELP
|
|
||||||
|| material == Material.TALL_SEAGRASS || material == Material.TALL_GRASS);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -7,8 +7,9 @@ import java.util.HashSet;
|
|||||||
/**
|
/**
|
||||||
* Stores hash tables for item and block names
|
* Stores hash tables for item and block names
|
||||||
* This allows for better support across multiple versions of Minecraft
|
* This allows for better support across multiple versions of Minecraft
|
||||||
* <p>
|
*
|
||||||
* This is a temporary class, mcMMO is spaghetti and I'l clean it up later
|
* This is a temporary class, mcMMO is spaghetti and I'l clean it up later
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
public class MaterialMapStore {
|
public class MaterialMapStore {
|
||||||
|
|
||||||
@ -19,8 +20,10 @@ public class MaterialMapStore {
|
|||||||
private HashSet<String> herbalismAbilityBlackList;
|
private HashSet<String> herbalismAbilityBlackList;
|
||||||
private HashSet<String> blockCrackerWhiteList;
|
private HashSet<String> blockCrackerWhiteList;
|
||||||
private HashSet<String> canMakeShroomyWhiteList;
|
private HashSet<String> canMakeShroomyWhiteList;
|
||||||
|
private HashSet<String> multiBlockEntities;
|
||||||
|
|
||||||
public MaterialMapStore() {
|
public MaterialMapStore()
|
||||||
|
{
|
||||||
abilityBlackList = new HashSet<>();
|
abilityBlackList = new HashSet<>();
|
||||||
toolBlackList = new HashSet<>();
|
toolBlackList = new HashSet<>();
|
||||||
mossyWhiteList = new HashSet<>();
|
mossyWhiteList = new HashSet<>();
|
||||||
@ -28,39 +31,53 @@ public class MaterialMapStore {
|
|||||||
herbalismAbilityBlackList = new HashSet<>();
|
herbalismAbilityBlackList = new HashSet<>();
|
||||||
blockCrackerWhiteList = new HashSet<>();
|
blockCrackerWhiteList = new HashSet<>();
|
||||||
canMakeShroomyWhiteList = new HashSet<>();
|
canMakeShroomyWhiteList = new HashSet<>();
|
||||||
|
multiBlockEntities = new HashSet<>();
|
||||||
|
|
||||||
fillHardcodedHashSets();
|
fillHardcodedHashSets();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isAbilityActivationBlackListed(Material material) {
|
public boolean isMultiBlock(Material material)
|
||||||
|
{
|
||||||
|
return multiBlockEntities.contains(material.getKey().getKey());
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isAbilityActivationBlackListed(Material material)
|
||||||
|
{
|
||||||
return abilityBlackList.contains(material.getKey().getKey());
|
return abilityBlackList.contains(material.getKey().getKey());
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isToolActivationBlackListed(Material material) {
|
public boolean isToolActivationBlackListed(Material material)
|
||||||
|
{
|
||||||
return toolBlackList.contains(material.getKey().getKey());
|
return toolBlackList.contains(material.getKey().getKey());
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isMossyWhiteListed(Material material) {
|
public boolean isMossyWhiteListed(Material material)
|
||||||
|
{
|
||||||
return mossyWhiteList.contains(material.getKey().getKey());
|
return mossyWhiteList.contains(material.getKey().getKey());
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isLeavesWhiteListed(Material material) {
|
public boolean isLeavesWhiteListed(Material material)
|
||||||
|
{
|
||||||
return leavesWhiteList.contains(material.getKey().getKey());
|
return leavesWhiteList.contains(material.getKey().getKey());
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isHerbalismAbilityWhiteListed(Material material) {
|
public boolean isHerbalismAbilityWhiteListed(Material material)
|
||||||
|
{
|
||||||
return herbalismAbilityBlackList.contains(material.getKey().getKey());
|
return herbalismAbilityBlackList.contains(material.getKey().getKey());
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isBlockCrackerWhiteListed(Material material) {
|
public boolean isBlockCrackerWhiteListed(Material material)
|
||||||
|
{
|
||||||
return blockCrackerWhiteList.contains(material.getKey().getKey());
|
return blockCrackerWhiteList.contains(material.getKey().getKey());
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isShroomyWhiteListed(Material material) {
|
public boolean isShroomyWhiteListed(Material material)
|
||||||
|
{
|
||||||
return canMakeShroomyWhiteList.contains(material.getKey().getKey());
|
return canMakeShroomyWhiteList.contains(material.getKey().getKey());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fillHardcodedHashSets() {
|
private void fillHardcodedHashSets()
|
||||||
|
{
|
||||||
fillAbilityBlackList();
|
fillAbilityBlackList();
|
||||||
filltoolBlackList();
|
filltoolBlackList();
|
||||||
fillMossyWhiteList();
|
fillMossyWhiteList();
|
||||||
@ -68,26 +85,43 @@ public class MaterialMapStore {
|
|||||||
fillHerbalismAbilityBlackList();
|
fillHerbalismAbilityBlackList();
|
||||||
fillBlockCrackerWhiteList();
|
fillBlockCrackerWhiteList();
|
||||||
fillShroomyWhiteList();
|
fillShroomyWhiteList();
|
||||||
|
fillMultiBlockEntitiesList();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fillShroomyWhiteList() {
|
private void fillMultiBlockEntitiesList()
|
||||||
|
{
|
||||||
|
multiBlockEntities.add("cactus");
|
||||||
|
multiBlockEntities.add("chorus_plant");
|
||||||
|
multiBlockEntities.add("sugar_cane");
|
||||||
|
multiBlockEntities.add("kelp_plant");
|
||||||
|
multiBlockEntities.add("kelp");
|
||||||
|
multiBlockEntities.add("tall_seagrass");
|
||||||
|
multiBlockEntities.add("tall_grass");
|
||||||
|
multiBlockEntities.add("bamboo");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void fillShroomyWhiteList()
|
||||||
|
{
|
||||||
canMakeShroomyWhiteList.add("dirt");
|
canMakeShroomyWhiteList.add("dirt");
|
||||||
canMakeShroomyWhiteList.add("grass");
|
canMakeShroomyWhiteList.add("grass");
|
||||||
canMakeShroomyWhiteList.add("grass_path");
|
canMakeShroomyWhiteList.add("grass_path");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fillBlockCrackerWhiteList() {
|
private void fillBlockCrackerWhiteList()
|
||||||
|
{
|
||||||
blockCrackerWhiteList.add("stone_bricks");
|
blockCrackerWhiteList.add("stone_bricks");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fillHerbalismAbilityBlackList() {
|
private void fillHerbalismAbilityBlackList()
|
||||||
|
{
|
||||||
herbalismAbilityBlackList.add("dirt");
|
herbalismAbilityBlackList.add("dirt");
|
||||||
herbalismAbilityBlackList.add("grass");
|
herbalismAbilityBlackList.add("grass");
|
||||||
herbalismAbilityBlackList.add("grass_path");
|
herbalismAbilityBlackList.add("grass_path");
|
||||||
herbalismAbilityBlackList.add("farmland");
|
herbalismAbilityBlackList.add("farmland");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fillLeavesWhiteList() {
|
private void fillLeavesWhiteList()
|
||||||
|
{
|
||||||
leavesWhiteList.add("oak_leaves");
|
leavesWhiteList.add("oak_leaves");
|
||||||
leavesWhiteList.add("acacia_leaves");
|
leavesWhiteList.add("acacia_leaves");
|
||||||
leavesWhiteList.add("birch_leaves");
|
leavesWhiteList.add("birch_leaves");
|
||||||
@ -96,7 +130,8 @@ public class MaterialMapStore {
|
|||||||
leavesWhiteList.add("spruce_leaves");
|
leavesWhiteList.add("spruce_leaves");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fillMossyWhiteList() {
|
private void fillMossyWhiteList()
|
||||||
|
{
|
||||||
mossyWhiteList.add("cobblestone");
|
mossyWhiteList.add("cobblestone");
|
||||||
mossyWhiteList.add("dirt");
|
mossyWhiteList.add("dirt");
|
||||||
mossyWhiteList.add("grass_path");
|
mossyWhiteList.add("grass_path");
|
||||||
@ -104,7 +139,8 @@ public class MaterialMapStore {
|
|||||||
mossyWhiteList.add("cobblestone_wall");
|
mossyWhiteList.add("cobblestone_wall");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fillAbilityBlackList() {
|
private void fillAbilityBlackList()
|
||||||
|
{
|
||||||
abilityBlackList.add("black_bed");
|
abilityBlackList.add("black_bed");
|
||||||
abilityBlackList.add("blue_bed");
|
abilityBlackList.add("blue_bed");
|
||||||
abilityBlackList.add("brown_bed");
|
abilityBlackList.add("brown_bed");
|
||||||
@ -204,7 +240,8 @@ public class MaterialMapStore {
|
|||||||
abilityBlackList.add("sign"); //1.13 and lower?
|
abilityBlackList.add("sign"); //1.13 and lower?
|
||||||
}
|
}
|
||||||
|
|
||||||
private void filltoolBlackList() {
|
private void filltoolBlackList()
|
||||||
|
{
|
||||||
//TODO: Add anvils / missing logs
|
//TODO: Add anvils / missing logs
|
||||||
toolBlackList.add("black_bed");
|
toolBlackList.add("black_bed");
|
||||||
toolBlackList.add("blue_bed");
|
toolBlackList.add("blue_bed");
|
||||||
@ -327,7 +364,8 @@ public class MaterialMapStore {
|
|||||||
toolBlackList.add("spruce_wood");
|
toolBlackList.add("spruce_wood");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addToHashSet(String string, HashSet<String> stringHashSet) {
|
private void addToHashSet(String string, HashSet<String> stringHashSet)
|
||||||
|
{
|
||||||
stringHashSet.add(string.toLowerCase());
|
stringHashSet.add(string.toLowerCase());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -267,6 +267,7 @@ Experience_Values:
|
|||||||
Brown_Mushroom_Block: 70
|
Brown_Mushroom_Block: 70
|
||||||
Mushroom_Stem: 80
|
Mushroom_Stem: 80
|
||||||
Herbalism:
|
Herbalism:
|
||||||
|
Sweet_Berry_Bush: 300
|
||||||
Seagrass: 10
|
Seagrass: 10
|
||||||
Tall_Seagrass: 10
|
Tall_Seagrass: 10
|
||||||
Kelp: 3
|
Kelp: 3
|
||||||
@ -336,6 +337,10 @@ Experience_Values:
|
|||||||
Lily_Pad: 100
|
Lily_Pad: 100
|
||||||
White_Tulip: 150
|
White_Tulip: 150
|
||||||
Dandelion: 100
|
Dandelion: 100
|
||||||
|
Bamboo: 10
|
||||||
|
Cornflower: 150
|
||||||
|
Lily_of_the_valley: 150
|
||||||
|
Wither_rose: 500
|
||||||
Mining:
|
Mining:
|
||||||
Tube_Coral_Block: 75
|
Tube_Coral_Block: 75
|
||||||
Brain_Coral_Block: 80
|
Brain_Coral_Block: 80
|
||||||
@ -381,8 +386,15 @@ Experience_Values:
|
|||||||
Granite: 30
|
Granite: 30
|
||||||
Andesite: 30
|
Andesite: 30
|
||||||
Diorite: 30
|
Diorite: 30
|
||||||
|
Stone_Bricks: 50
|
||||||
|
Cracked_Stone_Bricks: 50
|
||||||
|
Mossy_Stone_Bricks: 50
|
||||||
|
Chiseled_Stone_Bricks: 50
|
||||||
Red_Sandstone: 100
|
Red_Sandstone: 100
|
||||||
Prismarine: 70
|
Prismarine: 70
|
||||||
|
Prismarine_Bricks: 70
|
||||||
|
Dark_Prismarine: 70
|
||||||
|
Sea_Lantern: 70
|
||||||
Purpur_Block: 200
|
Purpur_Block: 200
|
||||||
Purpur_Pillar: 250
|
Purpur_Pillar: 250
|
||||||
Purpur_Slab: 150
|
Purpur_Slab: 150
|
||||||
@ -480,4 +492,5 @@ Experience_Values:
|
|||||||
Pillager: 2.0
|
Pillager: 2.0
|
||||||
Ravager: 4.0
|
Ravager: 4.0
|
||||||
Trader_Llama: 1.0
|
Trader_Llama: 1.0
|
||||||
|
Wandering_trader: 1.0
|
||||||
|
|
||||||
|
@ -110,7 +110,6 @@ Commands.Chat.Console = Konsole
|
|||||||
Commands.Cooldowns.Header = &6--= &amcMMO F\u00E4higkeiten Cooldowns&6 =--
|
Commands.Cooldowns.Header = &6--= &amcMMO F\u00E4higkeiten Cooldowns&6 =--
|
||||||
Commands.Cooldowns.Row.N = \ &c{0}&f - &6{1} Sekunden verbleiben
|
Commands.Cooldowns.Row.N = \ &c{0}&f - &6{1} Sekunden verbleiben
|
||||||
Commands.Cooldowns.Row.Y = \ &b{0}&f - &2Bereit!
|
Commands.Cooldowns.Row.Y = \ &b{0}&f - &2Bereit!
|
||||||
Commands.Database.Cooldown = Du musst {0} Sekunde/-n warten bevor du diesen Befehl erneut verwenden darfst.
|
|
||||||
Commands.Database.Processing = Dein vorheriger Befehl wird noch verarbeitet. Bitte warten.
|
Commands.Database.Processing = Dein vorheriger Befehl wird noch verarbeitet. Bitte warten.
|
||||||
Commands.Description.Skill = Zeige detaillierte Informationen zum {0} Skill
|
Commands.Description.Skill = Zeige detaillierte Informationen zum {0} Skill
|
||||||
Commands.Description.addlevels = Gib einem Spieler Skill Level
|
Commands.Description.addlevels = Gib einem Spieler Skill Level
|
||||||
@ -737,8 +736,6 @@ Perks.Lucky.Name = Gl\u00FCck
|
|||||||
Perks.XP.Desc = Erhalte mehr Erfahrung in bestimmen Skills.
|
Perks.XP.Desc = Erhalte mehr Erfahrung in bestimmen Skills.
|
||||||
Perks.XP.Name = Erfahrung
|
Perks.XP.Name = Erfahrung
|
||||||
|
|
||||||
Profile.Loading.AdminFailureNotice = &4[A]&c mcMMO konnte die Daten f\u00FCr &e{0}&c nicht laden. &dBitte \u00FCberpr\u00FCfe deine Datenbank Einstellungen.
|
|
||||||
Profile.Loading.Failure = &cmcMMO konnte deine Daten auch weiterhin nicht laden. Du solltest den &bServer Owner kontaktieren. &eDu kannst trotzdem auf dem Server spielen, jedoch hast du &lkeine Skill Level&e und jegliche Erfahrung, die du bekommst &lwird nicht gespeichert&e.
|
|
||||||
Profile.Loading.Success = &aDein Profil wurde geladen.
|
Profile.Loading.Success = &aDein Profil wurde geladen.
|
||||||
|
|
||||||
Repair.Arcane.Downgrade = Zauber-Wert des Gegenstands vermindert.
|
Repair.Arcane.Downgrade = Zauber-Wert des Gegenstands vermindert.
|
||||||
@ -1030,3 +1027,8 @@ mcMMO.Description = &3\u00DCber das &emcMMO&3 Projekt:,&6mcMMO ist ein &copen s
|
|||||||
mcMMO.NoInvites = &cDu hast zurzeit keine Einladungen
|
mcMMO.NoInvites = &cDu hast zurzeit keine Einladungen
|
||||||
mcMMO.NoPermission = &4Unzureichende Berechtigungen.
|
mcMMO.NoPermission = &4Unzureichende Berechtigungen.
|
||||||
mcMMO.NoSkillNote = &8Wenn du keinen Zugriff auf einen Skill hast wird er hier nicht angezeigt.
|
mcMMO.NoSkillNote = &8Wenn du keinen Zugriff auf einen Skill hast wird er hier nicht angezeigt.
|
||||||
|
Commands.Database.CooldownMS=Du musst {0}ms warten, bis du diesen Befehl wieder ausführen kannst!
|
||||||
|
Profile.PendingLoad=&cDeine mcMMO Daten wurden noch nicht geladen.
|
||||||
|
Profile.Loading.FailureNotice=&4[A] &cmcMMO konnte die Spielerdaten von &e{0}&c leider nicht laden. Bitte überprüfe deine Datenbankeinstellungen. &dVersuche: {1}.
|
||||||
|
Reminder.Squelched=&7Erinnerung: Du erhälst aktuell keinerlei Benachrichtigungen von mcMMO, um dies zu ändern, nutze den /mcnotify Befehl. Dies ist eine stündliche, automatische Erinnerung.
|
||||||
|
Profile.Loading.FailurePlayer=&cmcMMO hat Probleme beim Laden deiner Daten nach &a{0}&c Versuchen. &8Kontaktiere den Serveradmin bezüglich diesem Problem. mcMMO wird weiterhin versuchen, deine Daten zu laden, bis du den Server verlässt. So lange kannst du keine Skillerfahrung sammeln und diese auch nicht nutzen.
|
||||||
|
Loading…
Reference in New Issue
Block a user