TShock icon indicating copy to clipboard operation
TShock copied to clipboard

Strip commands from TShock

Open QuiCM opened this issue 9 years ago • 23 comments

Hijacked by @nicatronTg. This is the list of potential commands to be stripped out of TShock in TShock 5.

  • [ ] /annoy
  • [ ] /confuse
  • [ ] /rocket
  • [ ] /firework
  • [ ] /invade
  • [ ] /clearangler
  • [ ] /expert
  • [ ] /bloodmoon
  • [ ] /grow
  • [ ] /dropmeteor
  • [ ] /eclipse
  • [ ] /forcehalloween
  • [ ] /forcexmas
  • [ ] /fullmoon
  • [ ] /hardmode
  • [ ] /sandstorm
  • [ ] /rain
  • [ ] /settle
  • [ ] /wind
  • [ ] /time
  • [ ] /kill
  • [ ] /heal
  • [ ] /godmode
  • [ ] /slap
  • [ ] /rules
  • [ ] /[item|proj|tile]ban [ideally third party plugin or separate gizmo plugin]
  • [ ] /home
  • [ ] /me
  • [ ] /party
  • [ ] /whisper & /reply

QuiCM avatar Apr 30 '15 13:04 QuiCM

This will involve

  • Moving commands from TShock over to plugins
  • Moving API-like features from TShock to a middleman plugin. API-like features include:
    • Users
    • DataHandlers
    • More that I may edit in at a later date when I remember them

QuiCM avatar Apr 30 '15 13:04 QuiCM

I've gone through and added a preliminary list of things I think should be removed from TShock 5. I basically think the following types of commands should be removed:

  • One shot commands that do very specific things.
  • Functionality that TShock provides the bare minimum and nothing more of.

I kinda think that it might be worth opening a separate repo for a "Gizmos" plugin that re-adds some of the most useful commands, but I don't think anyone will really care about removal of /annoy.

I'm looking for feedback on some if not all of these removals. Ideally, when TShock 5 launches, players will be able to download a package that maintains 1:1 functionality offered by TShock, even if that's through TShock + Gizmo + Essentials.

hakusaro avatar Oct 23 '16 18:10 hakusaro

Perhaps dump all commands from tshock into a list and just mark which ones need to be moved to gizmos and just start accepting PR's for each command ?

DogooFalchion avatar Oct 23 '16 18:10 DogooFalchion

I would like feedback on the above list @NyxStudios/tshock so we can start working on a gizmo plugin of sorts on the side so that migrating tshock and gizmo will be simpler in the long run. Might be pre-TShock 5 to have gizmo + tshock but overall easier to maintain codebase.

hakusaro avatar Oct 24 '16 01:10 hakusaro

All of the above can be removed

EDIT: and probably more, I will look in a bit

QuiCM avatar Oct 24 '16 01:10 QuiCM

Got it. Will wait on you to give go-ahead.

hakusaro avatar Oct 24 '16 01:10 hakusaro

I propose the following can also be removed:

  • [ ] /[item|proj|tile]ban (export to something else)
  • [ ] /home
  • [ ] /me
  • [ ] /party
  • [ ] /whisper & /reply

QuiCM avatar Oct 24 '16 02:10 QuiCM

I think the *ban commands should be a separate separate plugin, i.e., not in gizmo but handled outside of Nyx. The rest all seem fine for general crap that can go in gizmo instead of TShock.

hakusaro avatar Oct 24 '16 02:10 hakusaro

@WhiteXZ do you in general agree with the idea of a plugin like gizmo that contains these random commands that we distribute?

hakusaro avatar Oct 24 '16 02:10 hakusaro

Yep, potentially multiple plugins that group similar functionality

QuiCM avatar Oct 24 '16 02:10 QuiCM

Cool, in that case, I think stripping these earlier rather than later is a good plan. It gets us progress towards TShock 5 because we can start porting easy stuff as it comes.

hakusaro avatar Oct 24 '16 02:10 hakusaro

Created shell repo @ https://github.com/NyxStudios/Gizmos.

hakusaro avatar Oct 24 '16 02:10 hakusaro

Is the plan multiple .csprojects in one gizmo solution or multiple gizmo solution and repos?

DogooFalchion avatar Oct 24 '16 02:10 DogooFalchion

I think just for simplicity with automating builds and development, it should be multiple .csprojects in one gizmo solution in one repo.

hakusaro avatar Oct 24 '16 02:10 hakusaro

Can one of them be called Doo-dads ?

DogooFalchion avatar Oct 24 '16 02:10 DogooFalchion

Maybe we can internally stick some junk like /annoy in the doo-dads one. :p

I think the next step is to make logical groupings for the commands so we know how many gizmos we have.

hakusaro avatar Oct 24 '16 02:10 hakusaro

I agree,

  • [ ] World Commands (grow, drop meteor, weather)
  • [ ] Time (time, moon phases)
  • [ ] Game (hardmode, expert, butcher)
  • [ ] Player (godmode, heal, tp, home, me)
  • [ ] Comms (whisper, party chat)
  • [ ] Fun (Do-dads, annoy slap, rocket, confuse)

Could be a potential split.

DogooFalchion avatar Oct 24 '16 02:10 DogooFalchion

I'd like to point out that some of the commands listed for removal are vanilla commands (/me, /p, I doubt /whisper is), but TShock's chat handling is currently killing them so we're just reinplementing them ourselves. This doesn't mean we cannot do the same a second time, it'd just be a feature regression if they don't run the plugin.

AxisKriel avatar Oct 24 '16 06:10 AxisKriel

@Enerdy if they're vanilla commands, I actually see little to no reason why we even need to reimplement them in TShock. The reason why they're here is because they were created pre-vanilla commands.

hakusaro avatar Oct 24 '16 17:10 hakusaro

I think the reason for it was to maybe tie them to a permission? My thought. Maybe Enerdy has more reasons. :D

Patrikkk-zz avatar Oct 24 '16 17:10 Patrikkk-zz

Well, I mean, I can tell you straight up that, since TShock predates dedicated servers, it definitely predates the dedicated server's command handling for commands in the early days.

hakusaro avatar Oct 24 '16 17:10 hakusaro

Working with @DogooFalchion, we're going to be moving commands into the Gizmos repo and removing them in the gizmo-plugin-removal branch.

hakusaro avatar Oct 29 '16 16:10 hakusaro

Would like to point out that /bloodmoon and /fullmoon have been successfully replaced with /worldevent in 4.4.pre3. Tested fullmoon, working perfect in TShock 4.5.4.

tannertechnology avatar Jul 03 '21 10:07 tannertechnology