mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-10-29 11:52:22 +00:00
Compare commits
4 Commits
bea283e56c
...
bcf0f06fb9
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bcf0f06fb9 | ||
|
|
2ba67d1393 | ||
|
|
a8976ae953 | ||
|
|
f3a2199fd6 |
@ -1,5 +1,8 @@
|
||||
Version 2.2.036
|
||||
Fixed a bug where Chimaera Wing could cause an exception when used
|
||||
Fixed bug where Mob Spawners could drop in Blast Mining (thanks TomBock)
|
||||
Fixed Spectral Arrows not granting XP for Archery or Crossbows (thanks broccolai)
|
||||
Added locale strings for /mcmmo help command (thanks Griffeng)
|
||||
|
||||
Version 2.2.035
|
||||
Support for new additions from Minecraft 1.21.5
|
||||
|
||||
@ -57,16 +57,16 @@ public class McmmoCommand implements CommandExecutor {
|
||||
}
|
||||
|
||||
private void displayGeneralCommands(CommandSender sender) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /mcstats " + LocaleLoader.getString("Commands.Stats"));
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /<skill>" + LocaleLoader.getString("Commands.SkillInfo"));
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /mctop " + LocaleLoader.getString("Commands.Leaderboards"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Stats"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.SkillInfo"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Leaderboards"));
|
||||
|
||||
if (Permissions.inspect(sender)) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /inspect " + LocaleLoader.getString("Commands.Inspect"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Inspect"));
|
||||
}
|
||||
|
||||
if (Permissions.mcability(sender)) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /mcability " + LocaleLoader.getString("Commands.ToggleAbility"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.ToggleAbility"));
|
||||
}
|
||||
}
|
||||
|
||||
@ -78,38 +78,38 @@ public class McmmoCommand implements CommandExecutor {
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Other"));
|
||||
|
||||
if (Permissions.skillreset(sender)) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /skillreset <skill|all> " + LocaleLoader.getString("Commands.Reset"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Reset"));
|
||||
}
|
||||
|
||||
if (Permissions.mmoedit(sender)) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /mmoedit " + LocaleLoader.getString("Commands.mmoedit"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.mmoedit"));
|
||||
}
|
||||
|
||||
if (Permissions.adminChat(sender)) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /adminchat " + LocaleLoader.getString("Commands.AdminToggle"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.AdminToggle"));
|
||||
}
|
||||
|
||||
if (Permissions.mcgod(sender)) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /mcgod " + LocaleLoader.getString("Commands.mcgod"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.mcgod"));
|
||||
}
|
||||
}
|
||||
|
||||
private void displayPartyCommands(CommandSender sender) {
|
||||
if (Permissions.party(sender)) {
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Party.Commands"));
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /party create <" + LocaleLoader.getString("Commands.Usage.PartyName") + "> " + LocaleLoader.getString("Commands.Party1"));
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /party join <" + LocaleLoader.getString("Commands.Usage.Player") + "> " + LocaleLoader.getString("Commands.Party2"));
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /party quit " + LocaleLoader.getString("Commands.Party.Quit"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Party1"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Party2"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Party.Quit"));
|
||||
|
||||
if (Permissions.partyChat(sender)) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /party chat " + LocaleLoader.getString("Commands.Party.Toggle"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Party.Toggle"));
|
||||
}
|
||||
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /party invite <" + LocaleLoader.getString("Commands.Usage.Player") + "> " + LocaleLoader.getString("Commands.Party.Invite"));
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /party accept " + LocaleLoader.getString("Commands.Party.Accept"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Party.Invite"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Party.Accept"));
|
||||
|
||||
if (Permissions.partySubcommand(sender, PartySubcommandType.TELEPORT)) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + " /party teleport <" + LocaleLoader.getString("Commands.Usage.Player") + "> " + LocaleLoader.getString("Commands.Party.Teleport"));
|
||||
sender.sendMessage(LocaleLoader.getString("Commands.Party.Teleport"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -274,14 +274,15 @@ public class MiningManager extends SkillManager {
|
||||
|
||||
/**
|
||||
* Checks if it would be illegal (in vanilla) to obtain the block
|
||||
* Certain things should never drop (such as budding_amethyst and infested blocks)
|
||||
* Certain things should never drop (such as budding_amethyst, infested blocks or spawners)
|
||||
*
|
||||
* @param material target material
|
||||
* @return true if it's not legal to get the block through normal gameplay
|
||||
*/
|
||||
public boolean isDropIllegal(@NotNull Material material) {
|
||||
return isInfestedBlock(material.getKey().getKey())
|
||||
|| material.getKey().getKey().equalsIgnoreCase(BUDDING_AMETHYST);
|
||||
|| material.getKey().getKey().equalsIgnoreCase(BUDDING_AMETHYST)
|
||||
|| material == Material.SPAWNER;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -181,7 +181,7 @@ public final class CombatUtils {
|
||||
}
|
||||
|
||||
private static void processCrossbowsCombat(@NotNull LivingEntity target, @NotNull Player player,
|
||||
@NotNull EntityDamageByEntityEvent event, @NotNull Arrow arrow) {
|
||||
@NotNull EntityDamageByEntityEvent event, @NotNull AbstractArrow arrow) {
|
||||
double initialDamage = event.getDamage();
|
||||
|
||||
final McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
||||
@ -384,7 +384,7 @@ public final class CombatUtils {
|
||||
}
|
||||
|
||||
private static void processArcheryCombat(@NotNull LivingEntity target, @NotNull Player player,
|
||||
@NotNull EntityDamageByEntityEvent event, @NotNull Arrow arrow) {
|
||||
@NotNull EntityDamageByEntityEvent event, @NotNull AbstractArrow arrow) {
|
||||
double initialDamage = event.getDamage();
|
||||
|
||||
final McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
||||
@ -566,7 +566,7 @@ public final class CombatUtils {
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (painSource instanceof Arrow arrow) {
|
||||
} else if (painSource instanceof AbstractArrow arrow) {
|
||||
ProjectileSource projectileSource = arrow.getShooter();
|
||||
boolean isCrossbow = isCrossbowProjectile(arrow);
|
||||
if (projectileSource instanceof Player player) {
|
||||
@ -1055,7 +1055,7 @@ public final class CombatUtils {
|
||||
*
|
||||
* @param arrow the projectile
|
||||
*/
|
||||
public static void delayArrowMetaCleanup(@NotNull Arrow arrow) {
|
||||
public static void delayArrowMetaCleanup(@NotNull AbstractArrow arrow) {
|
||||
mcMMO.p.getFoliaLib().getScheduler().runLater(() -> ProjectileUtils.cleanupProjectileMetadata(arrow), 20*120);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@ package com.gmail.nossr50.util.skills;
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.util.MetadataConstants;
|
||||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.entity.AbstractArrow;
|
||||
import org.bukkit.entity.Arrow;
|
||||
import org.bukkit.metadata.FixedMetadataValue;
|
||||
import org.bukkit.metadata.MetadataValue;
|
||||
@ -32,7 +33,7 @@ public class ProjectileUtils {
|
||||
*
|
||||
* @param arrow projectile
|
||||
*/
|
||||
public static void cleanupProjectileMetadata(@NotNull Arrow arrow) {
|
||||
public static void cleanupProjectileMetadata(@NotNull AbstractArrow arrow) {
|
||||
ARROW_METADATA_KEYS.stream()
|
||||
.filter(arrow::hasMetadata)
|
||||
.forEach(key -> arrow.removeMetadata(key, mcMMO.p));
|
||||
@ -61,7 +62,7 @@ public class ProjectileUtils {
|
||||
});
|
||||
}
|
||||
|
||||
public static boolean isCrossbowProjectile(@NotNull Arrow arrow) {
|
||||
public static boolean isCrossbowProjectile(@NotNull AbstractArrow arrow) {
|
||||
return arrow.isShotFromCrossbow()
|
||||
|| arrow.hasMetadata(MetadataConstants.METADATA_KEY_CROSSBOW_PROJECTILE);
|
||||
}
|
||||
|
||||
@ -102,10 +102,10 @@ Overhaul.Name.Maces=Maces
|
||||
Overhaul.Name.Unarmed=Unarmed
|
||||
Overhaul.Name.Woodcutting=Woodcutting
|
||||
# /mcMMO Command Style Stuff
|
||||
Commands.mcc.Header=&c---[]&amcMMO Commands&c[]---
|
||||
Commands.Other=&c---[]&aSPECIAL COMMANDS&c[]---
|
||||
Commands.Party.Header=&c-----[]&aPARTY&c[]-----
|
||||
Commands.Party.Features.Header=&c-----[]&aFEATURES&c[]-----
|
||||
Commands.mcc.Header=&c[]=====[] &amcMMO Commands &c[]=====[]
|
||||
Commands.Other=&c[]=====[] &aSPECIAL COMMANDS &c[]=====[]
|
||||
Commands.Party.Header=&c[]=====[] &aPARTY &c[]=====[]
|
||||
Commands.Party.Features.Header=&c[]=====[] &aFEATURES &c[]=====[]
|
||||
# XP BAR Allows for the following variables -- {0} = Skill Level, {1} Current XP, {2} XP Needed for next level, {3} Power Level, {4} Percentage of Level
|
||||
# Make sure you turn on Experience_Bars.ThisMayCauseLag.AlwaysUpdateTitlesWhenXPIsGained if you want the XP bar title to update every time a player gains XP!
|
||||
XPBar.Template={0}
|
||||
@ -660,7 +660,7 @@ Commands.Ability.On=Ability use toggled &aon
|
||||
Commands.Ability.Toggle=Ability use has been toggled for &e{0}
|
||||
Commands.AdminChat.Off=Admin Chat only &cOff
|
||||
Commands.AdminChat.On=Admin Chat only &aOn
|
||||
Commands.AdminToggle=&a- Toggle admin chat
|
||||
Commands.AdminToggle=&3 /adminchat &a- Toggle admin chat
|
||||
Commands.Chat.Console=*Console*
|
||||
Commands.Cooldowns.Header=&6--= &amcMMO Ability Cooldowns&6 =--
|
||||
Commands.Cooldowns.Row.N=\ &c{0}&f - &6{1} seconds left
|
||||
@ -682,10 +682,10 @@ Commands.Healthbars.Changed.HEARTS=[mcMMO] Your healthbar display type was chang
|
||||
Commands.Healthbars.Changed.BAR=[mcMMO] Your healthbar display type was changed to &eBoxes&f.
|
||||
Commands.Healthbars.Changed.DISABLED=[mcMMO] Your mob healthbars have been &7disabled&f.
|
||||
Commands.Healthbars.Invalid=Invalid healthbar type!
|
||||
Commands.Inspect=<player> &a- View detailed player info
|
||||
Commands.Inspect=&3 /inspect <player> &a- View detailed player info
|
||||
Commands.Invite.Success=&aInvite sent successfully.
|
||||
Commands.Leaderboards=<skill> <page> &a- Leaderboards
|
||||
Commands.mcgod=&a- Toggle GodMode
|
||||
Commands.Leaderboards=&3 /mctop <skill> <page> &a- Leaderboards
|
||||
Commands.mcgod=&3 /mcgod &a- Toggle GodMode
|
||||
Commands.mchud.Invalid=That is not a valid HUD type.
|
||||
Commands.mcpurge.Success=&aThe database was successfully purged!
|
||||
Commands.mcrank.Heading=&6-=PERSONAL RANKINGS=-
|
||||
@ -696,7 +696,7 @@ Commands.mcrank.Unranked=&fUnranked
|
||||
Commands.mcrefresh.Success={0}''s cooldowns have been refreshed.
|
||||
Commands.mcremove.Success=&a{0} was successfully removed from the database!
|
||||
Commands.mctop.Tip=&6Tip: Use &c/mcrank&6 to view all of your personal rankings!
|
||||
Commands.mmoedit=[player] <skill> <newvalue> &a - Modify target
|
||||
Commands.mmoedit=&3 /mmoedit [player] <skill> <newvalue> &a - Modify target
|
||||
Commands.mmoedit.AllSkills.1=&aYour level in all skills was set to {0}!
|
||||
Commands.mmoedit.Modified.1=&aYour level in {0} was set to {1}!
|
||||
Commands.mmoedit.Modified.2={0} has been modified for {1}.
|
||||
@ -723,13 +723,13 @@ Commands.Party.ItemShare=&7ITEM &3({0})
|
||||
Commands.Party.ExpShare=&7EXP &3({0})
|
||||
Commands.Party.ItemShareCategories=&8Sharing Items: &7&o{0}
|
||||
Commands.Party.MembersNear=&8NEAR YOU &3{0}&8/&3{1}
|
||||
Commands.Party.Accept=&a- Accept party invite
|
||||
Commands.Party.Accept=&3 /party accept &a- Accept party invite
|
||||
Commands.Party.Chat.Off=Party Chat only &cOff
|
||||
Commands.Party.Chat.On=Party Chat only &aOn
|
||||
Commands.Party.Commands=&c---[]&aPARTY COMMANDS&c[]---
|
||||
Commands.Party.Invite.0=&cALERT: &aYou have received a party invite for {0} from {1}
|
||||
Commands.Party.Invite.1=&eType &a/party accept&e to accept the invite
|
||||
Commands.Party.Invite=&a- Send party invite
|
||||
Commands.Party.Invite=&3 /party invite <player> &a- Send party invite
|
||||
Commands.Party.Invite.Accepted=&aInvite Accepted. You have joined party {0}
|
||||
Commands.Party.Join=&7Joined Party: {0}
|
||||
Commands.Party.PartyFull=&6{0}&c is full!
|
||||
@ -744,11 +744,11 @@ Commands.Party.Kick=&cYou were kicked from party &a{0}&c!
|
||||
Commands.Party.Leave=&eYou have left that party
|
||||
Commands.Party.Members.Header=&c-----[]&aMEMBERS&c[]-----
|
||||
Commands.Party.None=&cYou are not in a party.
|
||||
Commands.Party.Quit=&a- Leave your current party
|
||||
Commands.Party.Teleport=&a- Teleport to party member
|
||||
Commands.Party.Toggle=&a- Toggle Party Chat
|
||||
Commands.Party1=&a- Create a new party
|
||||
Commands.Party2=&a- Join a players party
|
||||
Commands.Party.Quit=&3 /party quit &a- Leave your current party
|
||||
Commands.Party.Teleport=&3 /party teleport <player> &a- Teleport to party member
|
||||
Commands.Party.Toggle=&3 /party chat &a- Toggle Party Chat
|
||||
Commands.Party1=&3 /party create <name> &a- Create a new party
|
||||
Commands.Party2=&3 /party join <player> &a- Join a players party
|
||||
Commands.Party.Alliance.Header=&c-----[]&aPARTY ALLIANCE&c[]-----
|
||||
Commands.Party.Alliance.Ally=&f{0} &8IS ALLIED WITH: &f{1}
|
||||
Commands.Party.Alliance.Members.Header=&c-----[]&aALLIANCE MEMBERS&c[]-----
|
||||
@ -773,7 +773,7 @@ Commands.PowerLevel.Capped=&4POWER LEVEL: &a{0} &4MAX LEVEL: &e{1}
|
||||
Commands.PowerLevel=&4POWER LEVEL: &a{0}
|
||||
Commands.Reset.All=&aAll of your skill levels have been reset successfully.
|
||||
Commands.Reset.Single=&aYour {0} skill level has been reset successfully.
|
||||
Commands.Reset=&a- Reset a skill's level to 0
|
||||
Commands.Reset=&3 /skillreset <skill|all> &a- Reset a skill's level to 0
|
||||
Commands.Scoreboard.Clear=&3mcMMO scoreboard cleared.
|
||||
Commands.Scoreboard.NoBoard=&cThe mcMMO scoreboard is not active.
|
||||
Commands.Scoreboard.Keep=&3The mcMMO scoreboard will stay up until you use &a/mcscoreboard clear&3.
|
||||
@ -789,9 +789,9 @@ Commands.XPBar.SettingChanged=&6XP Bar setting for &a{0}&6 is now set to &a{1}
|
||||
Commands.Skill.Invalid=That is not a valid skillname!
|
||||
Commands.Skill.ChildSkill=Child skills are not valid for this command!
|
||||
Commands.Skill.Leaderboard=-&e-mcMMO &9{0}&e Leaderboard--
|
||||
Commands.SkillInfo=&a- View detailed information about a skill
|
||||
Commands.Stats=&a- View your mcMMO stats
|
||||
Commands.ToggleAbility=&a- Toggle ability activation with right click
|
||||
Commands.SkillInfo=&3 /<skill> &a- View detailed information about a skill
|
||||
Commands.Stats=&3 /mcstats &a- View your mcMMO stats
|
||||
Commands.ToggleAbility=&3 /mcability &a- Toggle ability activation with right click
|
||||
Commands.Usage.0=&cProper usage is /{0}
|
||||
Commands.Usage.1=&cProper usage is /{0} {1}
|
||||
Commands.Usage.2=&cProper usage is /{0} {1} {2}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user