1
0
mirror of https://github.com/Zrips/Jobs.git synced 2024-11-29 14:05:25 +01:00

Fix when monsterDamage option does not worked

Closes #1145
This commit is contained in:
montlikadani 2021-04-10 16:05:10 +02:00
parent cf55d7fbd7
commit 9c0787c03d
15 changed files with 118 additions and 135 deletions

11
pom.xml
View File

@ -52,7 +52,7 @@
</dependency>
<!-- Vault -->
<dependency>
<groupId>net.milkbowl.vault</groupId>
<groupId>com.github.MilkBowl</groupId>
<artifactId>VaultAPI</artifactId>
<version>1.7</version>
<scope>provided</scope>
@ -206,11 +206,6 @@
</dependency>
</dependencies>
<repositories>
<!-- Vault -->
<repository>
<id>vault-repo</id>
<url>http://nexus.hc.to/content/repositories/pub_releases/</url>
</repository>
<!-- MythicMobs -->
<repository>
<id>nexus</id>
@ -220,7 +215,7 @@
<!-- WorldGuard & WorldEdit -->
<repository>
<id>sk89q-repo</id>
<url>http://maven.sk89q.com/repo/</url>
<url>https://maven.enginehub.org/repo/</url>
</repository>
<repository>
<id>jitpack.io</id>
@ -234,7 +229,7 @@
<!-- PlaceholderAPI -->
<repository>
<id>placeholderapi</id>
<url>http://repo.extendedclip.com/content/repositories/placeholderapi/</url>
<url>https://repo.extendedclip.com/content/repositories/placeholderapi/</url>
</repository>
<!-- MyPet -->
<!--<repository>

View File

@ -74,7 +74,7 @@ public enum CMIEnchantment {
}
} catch (Exception | Error e) {
try {
if (one.getKey().toString().split(":")[1].toLowerCase().replace("_", "").equalsIgnoreCase(temp)) {
if (one.getKey().toString().split(":", 2)[1].toLowerCase().replace("_", "").equalsIgnoreCase(temp)) {
enchantment = one;
break;
}
@ -104,7 +104,7 @@ public enum CMIEnchantment {
}
} catch (Exception | Error e) {
try {
if (one.getKey().toString().split(":")[1].toLowerCase().replace("_", "").equalsIgnoreCase(temp)) {
if (one.getKey().toString().split(":", 2)[1].toLowerCase().replace("_", "").equalsIgnoreCase(temp)) {
enchantment = one;
break en;
}
@ -160,7 +160,7 @@ public enum CMIEnchantment {
if (map.isEmpty())
fillUpMap();
name = name.contains(":") ? name.split(":")[0] : name.contains("-") ? name.split("-")[0] : name;
name = name.contains(":") ? name.split(":", 2)[0] : name.contains("-") ? name.split("-", 2)[0] : name;
name = name.toLowerCase().replace("_", "");
return map.get(name);
}
@ -168,7 +168,7 @@ public enum CMIEnchantment {
public static Enchantment getEnchantment(String name) {
if (map.isEmpty())
fillUpMap();
name = name.contains(":") ? name.split(":")[0] : name.contains("-") ? name.split("-")[0] : name;
name = name.contains(":") ? name.split(":", 2)[0] : name.contains("-") ? name.split("-", 2)[0] : name;
name = name.toLowerCase().replace("_", "");
CMIEnchantment ec = map.get(name);

View File

@ -1366,9 +1366,10 @@ public enum CMIMaterial {
id = id.replaceAll("_| |minecraft:", "").toLowerCase();
if (id.contains(":")) {
String[] split = id.split(":", 2);
try {
Integer ids = Integer.parseInt(id.split(":")[0]);
Integer data = Integer.parseInt(id.split(":")[1]);
Integer ids = Integer.parseInt(split[0]);
Integer data = Integer.parseInt(split[1]);
if (ids <= 0)
return CMIMaterial.NONE;
return get(ids, data);
@ -1376,8 +1377,8 @@ public enum CMIMaterial {
}
try {
Integer data = Integer.parseInt(id.split(":")[1]);
id = id.split(":")[0];
Integer data = Integer.parseInt(split[1]);
id = split[0];
CMIMaterial mat = ItemManager.byName.get(id + ":" + data);
if (mat != null) {
return mat;

View File

@ -726,7 +726,7 @@ public class Jobs extends JavaPlugin {
boolean kyoriSupported = false;
try {
Class.forName("net.kyori.adventure.text.Component");
Class.forName("net.kyori.adventure.text.serializer.plain.PlainComponentSerializer");
kyoriSupported = true;
} catch (ClassNotFoundException e) {
}
@ -980,8 +980,8 @@ public class Jobs extends JavaPlugin {
if (jobinfo == null)
return;
Double income = jobinfo.getIncome(1, numjobs, jPlayer.maxJobsEquation);
Double pointAmount = jobinfo.getPoints(1, numjobs, jPlayer.maxJobsEquation);
double income = jobinfo.getIncome(1, numjobs, jPlayer.maxJobsEquation);
double pointAmount = jobinfo.getPoints(1, numjobs, jPlayer.maxJobsEquation);
if (income == 0D && pointAmount == 0D)
return;

View File

@ -230,12 +230,15 @@ public class PermissionHandler {
public void registerPermissions() {
PluginManager pm = plugin.getServer().getPluginManager();
for (World world : plugin.getServer().getWorlds()) {
if (pm.getPermission("jobs.world." + world.getName().toLowerCase()) == null)
pm.addPermission(new Permission("jobs.world." + world.getName().toLowerCase(), PermissionDefault.TRUE));
String worldName = world.getName().toLowerCase();
if (pm.getPermission("jobs.world." + worldName) == null)
pm.addPermission(new Permission("jobs.world." + worldName, PermissionDefault.TRUE));
}
for (Job job : Jobs.getJobs()) {
if (pm.getPermission("jobs.join." + job.getName().toLowerCase()) == null)
pm.addPermission(new Permission("jobs.join." + job.getName().toLowerCase(), PermissionDefault.TRUE));
String jobName = job.getName().toLowerCase();
if (pm.getPermission("jobs.join." + jobName) == null)
pm.addPermission(new Permission("jobs.join." + jobName, PermissionDefault.TRUE));
}
}

View File

@ -1146,7 +1146,7 @@ public class PlayerManager {
}
public void autoJoinJobs(final Player player) {
if (player == null || player.isOp() || !Jobs.getGCManager().AutoJobJoinUse)
if (!Jobs.getGCManager().AutoJobJoinUse || player == null || player.isOp())
return;
Bukkit.getServer().getScheduler().runTaskLater(plugin, new Runnable() {
@ -1160,14 +1160,15 @@ public class PlayerManager {
return;
int confMaxJobs = Jobs.getGCManager().getMaxJobs();
short playerMaxJobs = (short) jPlayer.getJobProgression().size();
if (confMaxJobs > 0 && playerMaxJobs >= confMaxJobs && !getJobsLimit(jPlayer, playerMaxJobs))
return;
for (Job one : Jobs.getJobs()) {
if (one.getMaxSlots() != null && Jobs.getUsedSlots(one) >= one.getMaxSlots())
continue;
short playerMaxJobs = (short) jPlayer.getJobProgression().size();
if (confMaxJobs > 0 && playerMaxJobs >= confMaxJobs && !getJobsLimit(jPlayer, playerMaxJobs))
break;
if (!jPlayer.isInJob(one) && player.hasPermission("jobs.autojoin." + one.getName().toLowerCase()))
joinJob(jPlayer, one);
}

View File

@ -64,21 +64,22 @@ public class ExploreManager {
return i;
}
public ExploreRespond ChunkRespond(Player player, Chunk chunk) {
return ChunkRespond(Jobs.getPlayerManager().getJobsPlayer(player).getUserId(), chunk.getWorld().getName(), chunk.getX(), chunk.getZ());
public ExploreRespond chunkRespond(Player player, Chunk chunk) {
return chunkRespond(Jobs.getPlayerManager().getJobsPlayer(player).getUserId(), chunk.getWorld().getName(), chunk.getX(), chunk.getZ());
}
public ExploreRespond ChunkRespond(int playerId, Chunk chunk) {
return ChunkRespond(playerId, chunk.getWorld().getName(), chunk.getX(), chunk.getZ());
public ExploreRespond chunkRespond(int playerId, Chunk chunk) {
return chunkRespond(playerId, chunk.getWorld().getName(), chunk.getX(), chunk.getZ());
}
public ExploreRespond ChunkRespond(int playerId, String world, int x, int z) {
public ExploreRespond chunkRespond(int playerId, String world, int x, int z) {
ExploreRegion eRegions = worlds.get(world);
if (eRegions == null) {
int RegionX = (int) Math.floor(x / 32D);
int RegionZ = (int) Math.floor(z / 32D);
eRegions = new ExploreRegion(RegionX, RegionZ);
}
ExploreChunk chunk = eRegions.getChunk(x, z);
if (chunk == null)
chunk = new ExploreChunk();

View File

@ -108,10 +108,6 @@ public class ShopManager {
gui.setInvSize(guiSize);
gui.setTitle(Jobs.getLanguage().getMessage("command.shop.info.title"));
// String title = Jobs.getLanguage().getMessage("command.shop.info.title");
// if (title.length() > 32)
// title = title.substring(0, 30) + "..";
JobsPlayer jPlayer = Jobs.getPlayerManager().getJobsPlayer(player);
PlayerPoints pointsInfo = jPlayer.getPointsData();
@ -119,8 +115,6 @@ public class ShopManager {
if (pointsInfo != null)
points = (int) (pointsInfo.getCurrentPoints() * 100.0) / 100.0;
// Inventory GuiInv = Bukkit.createInventory(null, GuiSize, title);
for (int i = 0; i < ls.size(); i++) {
ShopItem item = ls.get(i);
List<String> lore = new ArrayList<>();

View File

@ -167,7 +167,7 @@ public class Job {
}
public boolean isSame(Job job) {
return job != null && (fullName.equalsIgnoreCase(job.getName()) || id == job.getId());
return job != null && (id == job.getId() || fullName.equalsIgnoreCase(job.getName()));
}
public int getTotalPlayers() {
@ -200,8 +200,10 @@ public class Job {
double now = eq.getValue();
if (now > Jobs.getGCManager().DynamicPaymentMaxBonus)
now = Jobs.getGCManager().DynamicPaymentMaxBonus;
if (now < Jobs.getGCManager().DynamicPaymentMaxPenalty * -1)
now = Jobs.getGCManager().DynamicPaymentMaxPenalty * -1;
double maxPenalty = Jobs.getGCManager().DynamicPaymentMaxPenalty * -1;
if (now < maxPenalty)
now = maxPenalty;
this.bonus = (now / 100D);
}
@ -258,8 +260,8 @@ public class Job {
public JobInfo getJobInfo(ActionInfo action, int level) {
BiPredicate<JobInfo, ActionInfo> condition = (jobInfo, actionInfo) -> {
if (actionInfo instanceof PotionItemActionInfo) {
return jobInfo.getName().equalsIgnoreCase(((PotionItemActionInfo) action).getNameWithSub()) ||
(jobInfo.getName() + ":" + jobInfo.getMeta()).equalsIgnoreCase(((PotionItemActionInfo) action).getNameWithSub());
String subName = ((PotionItemActionInfo) action).getNameWithSub();
return jobInfo.getName().equalsIgnoreCase(subName) || (jobInfo.getName() + ":" + jobInfo.getMeta()).equalsIgnoreCase(subName);
}
return jobInfo.getName().equalsIgnoreCase(action.getNameWithSub()) ||

View File

@ -1183,21 +1183,21 @@ public class JobsPlayer {
for (String one : qprog.split(";:;")) {
try {
String jname = one.split(":")[0];
String jname = one.split(":", 2)[0];
Job job = Jobs.getJob(jname);
if (job == null)
continue;
one = one.substring(jname.length() + 1);
String qname = one.split(":")[0];
String qname = one.split(":", 2)[0];
Quest quest = job.getQuest(qname);
if (quest == null)
continue;
one = one.substring(qname.length() + 1);
String longS = one.split(":")[0];
String longS = one.split(":", 2)[0];
long validUntil = Long.parseLong(longS);
one = one.substring(longS.length() + 1);
@ -1216,7 +1216,7 @@ public class JobsPlayer {
}
for (String oneA : one.split(":;:")) {
String prog = oneA.split(";")[0];
String prog = oneA.split(";", 2)[0];
ActionType action = ActionType.getByName(prog);
if (action == null || oneA.length() < prog.length() + 1)
continue;
@ -1227,14 +1227,14 @@ public class JobsPlayer {
oneA = oneA.substring(prog.length() + 1);
String target = oneA.split(";")[0];
String target = oneA.split(";", 2)[0];
QuestObjective obj = old.get(target);
if (obj == null)
continue;
oneA = oneA.substring(target.length() + 1);
qp.setAmountDone(obj, Integer.parseInt(oneA.split(";")[0]));
qp.setAmountDone(obj, Integer.parseInt(oneA.split(";", 2)[0]));
}
if (qp.isCompleted())

View File

@ -533,19 +533,18 @@ public class JobsListener implements Listener {
@EventHandler
public void playerInteractEvent(PlayerInteractEvent event) {
Action action = event.getAction();
if (action == Action.PHYSICAL)
if (event.getAction() == Action.PHYSICAL)
return;
if (action != Action.RIGHT_CLICK_AIR && action != Action.RIGHT_CLICK_BLOCK)
if (event.getAction() != Action.RIGHT_CLICK_AIR && event.getAction() != Action.RIGHT_CLICK_BLOCK)
return;
ArmorTypes newArmorType = ArmorTypes.matchType(event.getItem());
if (newArmorType == null)
return;
Player player = event.getPlayer();
PlayerInventory inv = player.getInventory();
PlayerInventory inv = event.getPlayer().getInventory();
if (newArmorType == ArmorTypes.HELMET &&
inv.getHelmet() == null ||
(newArmorType == ArmorTypes.CHESTPLATE || newArmorType == ArmorTypes.ELYTRA) &&
@ -554,15 +553,14 @@ public class JobsListener implements Listener {
inv.getLeggings() == null ||
newArmorType == ArmorTypes.BOOTS &&
inv.getBoots() == null) {
JobsArmorChangeEvent armorEquipEvent = new JobsArmorChangeEvent(player, EquipMethod.HOTBAR, ArmorTypes.matchType(event.getItem()), null, event
JobsArmorChangeEvent armorEquipEvent = new JobsArmorChangeEvent(event.getPlayer(), EquipMethod.HOTBAR, ArmorTypes.matchType(event.getItem()), null, event
.getItem());
plugin.getServer().getPluginManager().callEvent(armorEquipEvent);
if (armorEquipEvent.isCancelled()) {
event.setCancelled(true);
player.updateInventory();
event.getPlayer().updateInventory();
}
}
}
@EventHandler

View File

@ -379,14 +379,14 @@ public class JobsPaymentListener implements Listener {
if (!player.isOnline())
return;
// check if in creative
if (!payIfCreative(player))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
// check if in creative
if (!payIfCreative(player))
return;
// Remove block owner ships
plugin.getBlockOwnerShips().forEach(os -> os.remove(block));
@ -408,17 +408,15 @@ public class JobsPaymentListener implements Listener {
if (!payForItemDurabilityLoss(player))
return;
ItemStack item = Jobs.getNms().getItemInMainHand(player);
if (item.getType() != Material.AIR) {
// Protection for block break with silktouch
if (Jobs.getGCManager().useSilkTouchProtection) {
ItemStack item = Jobs.getNms().getItemInMainHand(player);
if (Jobs.getGCManager().useSilkTouchProtection && item.getType() != Material.AIR) {
for (Enchantment one : item.getEnchantments().keySet()) {
if (CMIEnchantment.get(one) == CMIEnchantment.SILK_TOUCH && Jobs.getBpManager().isInBp(block)) {
return;
}
}
}
}
// Better implementation?
// Prevent money duplication when breaking plant blocks
@ -434,12 +432,16 @@ public class JobsPaymentListener implements Listener {
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onBlockPlace(BlockPlaceEvent event) {
// check to make sure you can build
if (!event.canBuild())
return;
// A tool should not trigger a BlockPlaceEvent (fixes stripping logs bug #940)
if (CMIMaterial.get(event.getItemInHand().getType()).isTool())
return;
// check to make sure you can build
if (!event.canBuild())
Player player = event.getPlayer();
if (!player.isOnline())
return;
Block block = event.getBlock();
@ -447,14 +449,14 @@ public class JobsPaymentListener implements Listener {
if (!Jobs.getGCManager().canPerformActionInWorld(block.getWorld()))
return;
Player player = event.getPlayer();
if (!player.isOnline())
return;
if (Version.isCurrentEqualOrLower(Version.v1_12_R1)
&& ItemManager.getItem(event.getItemInHand()).isSimilar(CMIMaterial.BONE_MEAL.newCMIItemStack()))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
// check if in creative
if (!payIfCreative(player))
return;
@ -462,10 +464,6 @@ public class JobsPaymentListener implements Listener {
if (!Jobs.getPermissionHandler().hasWorldPermission(player, player.getLocation().getWorld().getName()))
return;
// check if player is riding
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
Jobs.action(Jobs.getPlayerManager().getJobsPlayer(player), new BlockActionInfo(block, ActionType.PLACE), block);
}
@ -566,9 +564,6 @@ public class JobsPaymentListener implements Listener {
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onInventoryCraft(CraftItemEvent event) {
if (!Jobs.getGCManager().canPerformActionInWorld(event.getWhoClicked().getWorld()))
return;
// If event is nothing or place, do nothing
switch (event.getAction()) {
case NOTHING:
@ -583,6 +578,12 @@ public class JobsPaymentListener implements Listener {
if (event.getSlotType() != SlotType.RESULT)
return;
if (!event.isLeftClick() && !event.isRightClick())
return;
if (!Jobs.getGCManager().canPerformActionInWorld(event.getWhoClicked().getWorld()))
return;
ItemStack resultStack = event.getRecipe().getResult();
if (!(event.getWhoClicked() instanceof Player))
@ -603,9 +604,6 @@ public class JobsPaymentListener implements Listener {
if (Jobs.getGCManager().disablePaymentIfRiding && player.isInsideVehicle())
return;
if (!event.isLeftClick() && !event.isRightClick())
return;
// check if in creative
if (!payIfCreative(player))
return;
@ -1083,7 +1081,7 @@ public class JobsPaymentListener implements Listener {
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onEntityDamageByPlayer(EntityDamageEvent event) {
if (!Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld()) || !Jobs.getGCManager().MonsterDamageUse)
if (!Jobs.getGCManager().MonsterDamageUse || !Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld()))
return;
Entity ent = event.getEntity();
@ -1098,14 +1096,12 @@ public class JobsPaymentListener implements Listener {
if (damage > s)
damage = s;
if (Jobs.getGCManager().MonsterDamageUse) {
UUID entUUID = ent.getUniqueId();
Double damageDealt = damageDealtByPlayers.getIfPresent(entUUID);
if (damageDealt != null) {
damageDealtByPlayers.put(entUUID, damageDealt + damage);
} else {
damageDealtByPlayers.put(entUUID, 0.0);
}
damageDealtByPlayers.put(entUUID, damage);
}
}
@ -1116,13 +1112,12 @@ public class JobsPaymentListener implements Listener {
Entity ent = event.getEntity();
UUID entUUID = ent.getUniqueId();
Entity damager = event.getDamager();
if (ent instanceof org.bukkit.entity.EnderCrystal && damager instanceof Player) {
if (ent instanceof org.bukkit.entity.EnderCrystal && event.getDamager() instanceof Player) {
punchedEndCrystals.put(entUUID, ent);
return;
}
if (!(damager instanceof Projectile) || !(ent instanceof Damageable))
if (!Jobs.getGCManager().MonsterDamageUse || !(event.getDamager() instanceof Projectile) || !(ent instanceof Damageable))
return;
double damage = event.getFinalDamage();
@ -1131,12 +1126,12 @@ public class JobsPaymentListener implements Listener {
if (damage > s)
damage = s;
if (Jobs.getGCManager().MonsterDamageUse && ((Projectile) damager).getShooter() instanceof Player) {
if (((Projectile) event.getDamager()).getShooter() instanceof Player) {
Double damageDealt = damageDealtByPlayers.getIfPresent(entUUID);
if (damageDealt != null) {
damageDealtByPlayers.put(entUUID, damageDealt + damage);
} else {
damageDealtByPlayers.put(entUUID, 0.0);
damageDealtByPlayers.put(entUUID, damage);
}
}
}
@ -1278,12 +1273,9 @@ public class JobsPaymentListener implements Listener {
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onCreatureSpawn(CreatureSpawnEvent event) {
if (!Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld()))
return;
if (event.getSpawnReason() == SpawnReason.SPAWNER || event.getSpawnReason() == SpawnReason.SPAWNER_EGG) {
LivingEntity creature = event.getEntity();
creature.setMetadata(Jobs.getPlayerManager().getMobSpawnerMetadata(), new FixedMetadataValue(plugin, true));
if ((event.getSpawnReason() == SpawnReason.SPAWNER || event.getSpawnReason() == SpawnReason.SPAWNER_EGG)
&& Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld())) {
event.getEntity().setMetadata(Jobs.getPlayerManager().getMobSpawnerMetadata(), new FixedMetadataValue(plugin, true));
}
}
@ -1437,11 +1429,10 @@ public class JobsPaymentListener implements Listener {
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onCreatureBreed(CreatureSpawnEvent event) {
if (!Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld()) || !Jobs.getGCManager().useBreederFinder)
if (!Jobs.getGCManager().useBreederFinder || !Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld()))
return;
SpawnReason reason = event.getSpawnReason();
if (!reason.toString().equalsIgnoreCase("BREEDING") && !reason.toString().equalsIgnoreCase("EGG"))
if (!event.getSpawnReason().toString().equalsIgnoreCase("BREEDING") && !event.getSpawnReason().toString().equalsIgnoreCase("EGG"))
return;
LivingEntity animal = event.getEntity();
@ -1478,15 +1469,12 @@ public class JobsPaymentListener implements Listener {
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onPlayerEat(FoodLevelChangeEvent event) {
if (!Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld()))
return;
if (!(event.getEntity() instanceof Player) || event.getEntity().hasMetadata("NPC")
|| event.getFoodLevel() <= ((Player) event.getEntity()).getFoodLevel())
if (!(event.getEntity() instanceof Player) || !Jobs.getGCManager().canPerformActionInWorld(event.getEntity().getWorld())
|| event.getEntity().hasMetadata("NPC"))
return;
Player player = (Player) event.getEntity();
if (!player.isOnline())
if (!player.isOnline() || event.getFoodLevel() <= player.getFoodLevel())
return;
// check if in creative
@ -1703,11 +1691,11 @@ public class JobsPaymentListener implements Listener {
if (jPlayer == null)
return;
ExploreRespond respond = Jobs.getExplore().ChunkRespond(jPlayer.getUserId(), event.getNewChunk());
ExploreRespond respond = Jobs.getExplore().chunkRespond(jPlayer.getUserId(), event.getNewChunk());
if (!respond.isNewChunk())
return;
Jobs.action(jPlayer, new ExploreActionInfo(String.valueOf(respond.getCount()), ActionType.EXPLORE));
Jobs.action(jPlayer, new ExploreActionInfo(Integer.toString(respond.getCount()), ActionType.EXPLORE));
}
@EventHandler(priority = EventPriority.LOWEST)
@ -1743,7 +1731,8 @@ public class JobsPaymentListener implements Listener {
return true;
for (Entry<Enchantment, Integer> oneG : got.entrySet()) {
if (!hand.getEnchantments().containsKey(oneG.getKey()) || hand.getEnchantments().get(oneG.getKey()).equals(oneG.getValue()))
Map<Enchantment, Integer> map = hand.getEnchantments();
if (!map.containsKey(oneG.getKey()) || map.get(oneG.getKey()).equals(oneG.getValue()))
return false;
}

View File

@ -17,8 +17,8 @@ public class PistonProtectionListener implements Listener {
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onBlockMove(BlockPistonExtendEvent event) {
if (event.isCancelled() || !Jobs.getGCManager().canPerformActionInWorld(event.getBlock().getWorld())
|| !Jobs.getGCManager().useBlockProtection)
if (!Jobs.getGCManager().useBlockProtection || event.isCancelled()
|| !Jobs.getGCManager().canPerformActionInWorld(event.getBlock().getWorld()))
return;
BlockFace dir = event.getDirection();
@ -39,8 +39,8 @@ public class PistonProtectionListener implements Listener {
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onBlockRetractMove(BlockPistonRetractEvent event) {
if (event.isCancelled() || !Jobs.getGCManager().canPerformActionInWorld(event.getBlock().getWorld())
|| !Jobs.getGCManager().useBlockProtection)
if (!Jobs.getGCManager().useBlockProtection || event.isCancelled()
|| !Jobs.getGCManager().canPerformActionInWorld(event.getBlock().getWorld()))
return;
BlockFace dir = event.getDirection();

View File

@ -27,8 +27,9 @@ public class ToggleBarHandling {
if (section != null) {
for (String one : section.getKeys(false)) {
if (!section.getBoolean(one)) {
bossBarToggle.put(one, section.getBoolean(one));
boolean boo = section.getBoolean(one);
if (!boo) {
bossBarToggle.put(one, boo);
}
}
}
@ -39,8 +40,9 @@ public class ToggleBarHandling {
if (section != null) {
for (String one : section.getKeys(false)) {
if (!section.getBoolean(one)) {
actionBarToggle.put(one, section.getBoolean(one));
boolean boo = section.getBoolean(one);
if (!boo) {
actionBarToggle.put(one, boo);
}
}
}

View File

@ -9,6 +9,7 @@ import com.gamingmesh.jobs.container.JobsPlayer;
import com.gamingmesh.jobs.stuff.Util;
import io.papermc.paper.event.player.AsyncChatEvent;
import net.kyori.adventure.text.TextReplacementConfig;
public final class KyoriChatEvent extends Complement2 implements Listener {
@ -48,11 +49,10 @@ public final class KyoriChatEvent extends Complement2 implements Listener {
// chat plugins, like Essentials
// Now there is a parameter "player", so literally we need to add 800+ chat plugins
// to this plugin as dependency?
event.composer((player, displayName, msg) -> {
String newMessage = serialize(msg);
newMessage = newMessage.replace("{jobs}", h);
return deserialize(newMessage);
});
// 3rd attempt: now we tried to use text replacement config builder to match the variable
// result: instead of replacing the variable, now the chat message never been sent
event.composer((player, displayName, msg) -> msg
.replaceText(TextReplacementConfig.builder().match("{jobs}").once().replacement(h).build()));
}
// Changing chat prefix variable to job name
@ -73,10 +73,7 @@ public final class KyoriChatEvent extends Complement2 implements Listener {
honorific = "";
final String h = honorific;
event.composer((player, displayName, msg) -> {
String newMessage = serialize(msg);
newMessage = newMessage.replace("{jobs}", h);
return deserialize(newMessage);
});
event.composer((player, displayName, msg) -> msg
.replaceText(TextReplacementConfig.builder().match("{jobs}").once().replacement(h).build()));
}
}