Closed RedstoneFuture closed 2 years ago
@Butzlabben What do you think about it?
I think the general structure is improved. But I am not happy with the util/
directory. For me personally and my experience, I think that we have too much stuff in there. The MathUtil
, geometry, serialization etc. are perfectly fine in there. But I think we should move missile, signs, stats and stuff like that outside/somewhere else.
We can also talk about this in call if you want.
Here I would like to suggest a new file order, which is more intuitive to find the classes. The old order, especially the "wrapper", was based on technical aspects, but it feels harder to find the correct files while the developing.
Preview: I was able to build this restructuring without any access problems. https://github.com/RedstoneFuture/missilewars/tree/Workspace/Reorder_v1/missilewars-plugin/src/main/java/de/butzlabben/missilewars
Changes:
Commands:
/cmd/*
->/commands/*
Configuration Management:
MessageConfig.java
->/configuration/Messages.java
Config.java
->/configuration/Config.java
/wrapper/abstracts/arena/*
->/configuration/arena/*
/wrapper/abstracts/Arena.java
->/configuration/arena/Arena.java
/wrapper/abstracts/Lobby.java
->/configuration/Lobby.java
Equipment:
/util/PlayerEquipmentRandomizer.java
->/game/equipment/PlayerEquipmentRandomizer.java
/wrapper/game/MissileGameEquipment.java
->/game/equipment/MissileGameEquipment.java
/wrapper/game/SpecialGameEquipment.java
->/game/equipment/SpecialGameEquipment.java
Misc Game Features:
/util/ScoreboardManager.java
->/game/misc/ScoreboardManager.java
/wrapper/game/RespawnGoldBlock.java
->/game/misc/RespawnGoldBlock.java
/wrapper/game/Shield.java
->/game/misc/Shield.java
/wrapper/stats/*
->/game/stats/*
/wrapper/event/*
->/event/*
/wrapper/geometry/*
->/util/geometry/*
/wrapper/player/Interval.java
->/util/missile/Interval.java
/wrapper/game/Team.java
->/game/Team.java
/wrapper/abstracts/GameWorld.java
->/game/GameWorld.java
/wrapper/missile/*
->/util/missile/*
/wrapper/signs/*
->/util/signs/*
Player:
/wrapper/player/MWPlayer.java
->/player/MWPlayer.java
/wrapper/player/PlayerData.java
->/player/PlayerData.java
Game Enums:
/game/GameState.java
->/game/enums/GameState.java
/game/GameResult.java
->/game/enums/GameResult.java
/wrapper/abstracts/MapChooseProcedure.java
->/game/enums/MapChooseProcedure.java