diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/Fight.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/Fight.java index 2d2c8acb..8a894013 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/Fight.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/fight/Fight.java @@ -24,6 +24,7 @@ import de.steamwar.fightsystem.Config; import de.steamwar.fightsystem.record.GlobalRecorder; import lombok.Getter; import org.bukkit.Bukkit; +import org.bukkit.Registry; import org.bukkit.Sound; import org.bukkit.entity.LivingEntity; @@ -88,7 +89,7 @@ public class Fight { } public static void playSound(Sound sound, float volume, float pitch) { - GlobalRecorder.getInstance().soundAtPlayer(sound.name(), volume, pitch); + GlobalRecorder.getInstance().soundAtPlayer(Registry.SOUNDS.getKey(sound).getKey(), volume, pitch); //volume: max. 100, pitch: max. 2 Bukkit.getServer().getOnlinePlayers().forEach(player -> player.playSound(player, sound, volume, pitch)); } diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java index b62ef662..f4f6983a 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/record/PacketProcessor.java @@ -510,11 +510,13 @@ public class PacketProcessor implements Listener { float volume = source.readFloat(); float pitch = source.readFloat(); - Sound sound = Sound.valueOf(soundName); + Sound sound = Registry.SOUNDS.get(NamespacedKey.minecraft(soundName)); + if (sound == null) sound = Sound.valueOf(soundName); // TODO: Remove in 26.x because of no longer needed backwards compatibility + Sound finalSound = sound; execSync(() -> { Location location = new Location(Config.world, x, y, z); - location.getWorld().playSound(location, sound, SoundCategory.valueOf(soundCategory), volume, pitch); + location.getWorld().playSound(location, finalSound, SoundCategory.valueOf(soundCategory), volume, pitch); }); } @@ -524,9 +526,11 @@ public class PacketProcessor implements Listener { float volume = source.readFloat(); float pitch = source.readFloat(); - Sound sound = Sound.valueOf(soundName); + Sound sound = Registry.SOUNDS.get(NamespacedKey.minecraft(soundName)); + if (sound == null) sound = Sound.valueOf(soundName); // TODO: Remove in 26.x because of no longer needed backwards compatibility + Sound finalSound = sound; - execSync(() -> Fight.playSound(sound, volume, pitch)); + execSync(() -> Fight.playSound(finalSound, volume, pitch)); } private void pasteSchem(FightTeam team) throws IOException { diff --git a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/record/Recorder.java b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/record/Recorder.java index 69f2bbcb..2d42c473 100644 --- a/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/record/Recorder.java +++ b/FightSystem/FightSystem_Core/src/de/steamwar/fightsystem/record/Recorder.java @@ -33,6 +33,7 @@ import de.steamwar.sql.SchematicNode; import de.steamwar.sql.SteamwarUser; import org.bukkit.Bukkit; import org.bukkit.Location; + import org.bukkit.Registry; import org.bukkit.block.Block; import org.bukkit.craftbukkit.block.CraftBlockState; import org.bukkit.entity.Entity; @@ -238,7 +239,7 @@ public interface Recorder { } default void sound(int x, int y, int z, SWSound soundType, String soundCategory, float volume, float pitch) { - write(0x32, x, y, z, soundType.getSound().name(), soundCategory, volume, pitch); + write(0x32, x, y, z, Registry.SOUNDS.getKey(soundType.getSound()).getKey(), soundCategory, volume, pitch); } default void soundAtPlayer(String soundType, float volume, float pitch) { diff --git a/SchematicSystem/src/de/steamwar/schematicsystem/autocheck/AutoChecker.java b/SchematicSystem/src/de/steamwar/schematicsystem/autocheck/AutoChecker.java index 1c3a5272..91f90f18 100644 --- a/SchematicSystem/src/de/steamwar/schematicsystem/autocheck/AutoChecker.java +++ b/SchematicSystem/src/de/steamwar/schematicsystem/autocheck/AutoChecker.java @@ -37,8 +37,8 @@ public class AutoChecker { public static final AutoChecker impl = new AutoChecker(); public AutoCheckerResult check(Clipboard clipboard, GameModeConfig type) { - return AutoCheckerResult.builder().type(type).height(clipboard.getDimensions().getBlockY()).width(clipboard.getDimensions().getBlockX()) - .depth(clipboard.getDimensions().getBlockZ()).blockScanResult(scan(clipboard, type)) + return AutoCheckerResult.builder().type(type).height(clipboard.getDimensions().x()).width(clipboard.getDimensions().x()) + .depth(clipboard.getDimensions().z()).blockScanResult(scan(clipboard, type)) .entities(clipboard.getEntities().stream().map(Entity::getLocation) .map(blockVector3 -> new BlockPos(blockVector3.getBlockX(), blockVector3.getBlockY(), blockVector3.getBlockZ())) .collect(Collectors.toList())) @@ -46,19 +46,19 @@ public class AutoChecker { } public AutoCheckerResult sizeCheck(Clipboard clipboard, GameModeConfig type) { - return AutoCheckerResult.builder().type(type).height(clipboard.getDimensions().getBlockY()).width(clipboard.getDimensions().getBlockX()) - .depth(clipboard.getDimensions().getBlockZ()).build(); + return AutoCheckerResult.builder().type(type).height(clipboard.getDimensions().y()).width(clipboard.getDimensions().x()) + .depth(clipboard.getDimensions().z()).build(); } public AutoChecker.BlockScanResult scan(Clipboard clipboard, GameModeConfig type) { AutoChecker.BlockScanResult result = new AutoChecker.BlockScanResult(); BlockVector3 min = clipboard.getMinimumPoint(); BlockVector3 max = clipboard.getMaximumPoint(); - for (int x = min.getBlockX(); x <= max.getBlockX(); x++) { - for (int y = min.getBlockY(); y <= max.getBlockY(); y++) { - for (int z = min.getBlockZ(); z <= max.getBlockZ(); z++) { + for (int x = min.x(); x <= max.x(); x++) { + for (int y = min.y(); y <= max.y(); y++) { + for (int z = min.z(); z <= max.z(); z++) { final BaseBlock block = clipboard.getFullBlock(BlockVector3.at(x, y, z)); - final Material material = Material.matchMaterial(block.getBlockType().getId()); + final Material material = Material.matchMaterial(block.getBlockType().id()); if (material == null) { continue; } @@ -69,7 +69,7 @@ public class AutoChecker { checkInventory(result, block, material, new BlockPos(x, y, z), type); } - if (x == min.getBlockX() || x == max.getBlockX() || y == max.getBlockY() || z == min.getBlockZ() || z == max.getBlockZ()) { + if (x == min.x() || x == max.x() || y == max.y() || z == min.z() || z == max.z()) { result.getDesignBlocks().computeIfAbsent(material, m -> new ArrayList<>()).add(new BlockPos(x, y, z)); } } diff --git a/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/SchematicCommand.java b/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/SchematicCommand.java index 1fb72577..4e5ecdf7 100644 --- a/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/SchematicCommand.java +++ b/SchematicSystem/src/de/steamwar/schematicsystem/commands/schematiccommand/SchematicCommand.java @@ -245,12 +245,12 @@ public class SchematicCommand extends SWCommand { BlockState replaceType = Objects.requireNonNull(toReplace.contains(Material.END_STONE) ? BlockTypes.IRON_BLOCK : BlockTypes.END_STONE).getDefaultState(); BlockVector3 min = clipboard.getMinimumPoint(); BlockVector3 max = clipboard.getMaximumPoint(); - for (int i = min.getBlockX(); i <= max.getBlockX(); i++) { - for (int j = min.getBlockY(); j <= max.getBlockY(); j++) { - for (int k = min.getBlockZ(); k <= max.getBlockZ(); k++) { + for (int i = min.x(); i <= max.x(); i++) { + for (int j = min.y(); j <= max.y(); j++) { + for (int k = min.z(); k <= max.z(); k++) { BlockVector3 vector = BlockVector3.at(i, j, k); BaseBlock block = clipboard.getFullBlock(vector); - if (toReplace.contains(Material.matchMaterial(block.getBlockType().getId()))) { + if (toReplace.contains(Material.matchMaterial(block.getBlockType().id()))) { clipboard.setBlock(vector, replaceType.toBaseBlock()); } }