refactor: split 6 oversized packages into semantic subpackages

Structure debt list is now empty (FOLDER_DEBT = Set.of()), every folder
holds at most 4 java files:

- elytra/{mode,generator} -> elytra/core plus per-mode slices (close,
  minspeed, obstacle, speeddemon, timetrial), 2 files each
- command/schematic -> command/schematic (4) + wand/ (2)
- generator/jump: JumpType -> jump/model/, SchematicBlockPlacer ->
  jump/placement/schematic/
- player/core -> player/core (4) + PlayerSpawnSetup -> player/service (4)

18 files moved, imports/tests updated, 5 classes widened to public for
cross-package calls. No behavior change; check and build stay green.
This commit is contained in:
loki5512344 2026-10-06 15:00:04 +02:00
parent e8b6569ccf
commit 4263df50a2
Signed by: boba
GPG key ID: 253067914055423B
29 changed files with 63 additions and 62 deletions

View file

@ -1,55 +0,0 @@
package dev.loki.loparkour.elytra.mode;
import dev.loki.loparkour.config.locale.Locales;
import dev.loki.loparkour.elytra.generator.ObstacleGenerator;
import dev.loki.loparkour.leaderboard.core.Leaderboard;
import dev.loki.loparkour.mode.base.Mode;
import dev.loki.loparkour.mode.base.ModeMessages;
import dev.loki.loparkour.player.core.ParkourPlayer;
import dev.loki.loparkour.session.core.Session;
import dev.loki.loparkour.util.item.Item;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* Elytra mode with client-side obstacles to fly around.
*/
public class ObstacleMode implements Mode {
private final Leaderboard leaderboard = new Leaderboard(getName(), Leaderboard.Sort.SCORE);
@Override
@NotNull
public String getName() {
return "obstacle";
}
@Override
@Nullable
public Item getItem(String locale) {
return Locales.getItem(locale, "play.elytra.obstacle");
}
@Override
@NotNull
public Leaderboard getLeaderboard() {
return leaderboard;
}
@Override
public void create(Player player) {
if (!ModeMessages.checkJoiningEnabled(player)) {
return;
}
final ParkourPlayer pp = ParkourPlayer.getPlayer(player);
if (pp != null && pp.session.generator != null && pp.session.generator.getMode() instanceof ObstacleMode) {
return;
}
player.closeInventory();
Session.create(ObstacleGenerator::new, null, null, player);
}
}