Jump to content
  • Sign Up

Goodly

Moderator
  • Content Count

    476
  • Joined

  • Last visited

  • Days Won

    142

Goodly last won the day on June 10

Goodly had the most liked content!

Community Reputation

564 Amazingtacular

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Goodly

    Skins

    Google translate moment. inicie sesiĆ³n en classicube.net y luego haga clic en su nombre en la parte superior para ir a https://www.classicube.net/acc
  2. Use /ccols (/customcolors for long) For instance, to add a new pastel pink color with "p" as the color code, use /ccols add p PastelPink d FFA3BE "d" will be the color code it uses if someone joins with a game that doesn't support custom colors.
  3. MCGalaxy will periodically check for updates. If it is up-to-date, it's normal to see "No update found". All of this is normal, you have no issues.
  4. Thanks for your interest in ClassiCube! The Steam version has been permanently de-listed and there is no way for you to acquire it on Steam. If you want to support hosting costs, subscribe to the patreon. Otherwise, you can still play by downloading the game from here.
  5. Classic Protocol (implement this first): https://wiki.vg/Classic_Protocol Extensions that ClassiCube adds (each extension is optional): https://wiki.vg/Classic_Protocol_Extension It's not clear from your message if MCGalaxy is bugged running on mono or you're just ideologically opposed to running it. A ton of the MCGalaxy servers on the list are running on linux of some kind...
  6. Ask how to rank up on the actual server you're talking about then, not here. Also, if it's Not Awesome 2, read the /faq
  7. Using console type /promote [name]
  8. Goodly

    Random Worlds

    In addition to August's comment there's also an MCGalaxy wiki page about creating new levels. https://github.com/ClassiCube/MCGalaxy/wiki/Creating-levels
  9. If you just want to bring a player from one map to another map's spawnpoint, you should use a message block with /goto [map] in it. If you need more precise control over the destination in the other map, you should use a portal.
  10. The cancel argument only stops the level itself from being edited. The player will still see their change appear, but only on their screen. To fix this, you need to send a block change back to the player to visually undo the block they tried to place or delete. p.SendBlockchange((ushort)x, (ushort)y, (ushort)z, block);
  11. It's hard to say what's changed without an exact reference of when you were here before. UnknownShadow200 has done lot of work console ports; you can read about some of the supported systems here. I also recently added fancy lighting mode in the latest development build. Also, the ClassiCube terms of service have been updated in the last year or so. You can view them here https://www.classicube.net/terms/
  12. To show you're dedicating most of your videos to this game, do it. There is no special youtuber or content-creator role.
  13. I made changes and comments explaining the reasoning: using System; using MCGalaxy; using MCGalaxy.Events.ServerEvents; using MCGalaxy.Events.PlayerEvents; // REQUIRES THE LATEST VERSION OF MCGALAXY!!!!!!!!!!!!!!!!!!!!!!!!!!! namespace PluginToneIndicators { public sealed class ToneIndicators : Plugin { public override string name { get { return "tones"; } } // This should indicate the earliest version of MCGalaxy the plugin is compatible with, rather than the plugin's version // Unfortunately we must use the current version because the development build of MCGalaxy hasn't incremented the version number public override string MCGalaxy_Version { get { return "1.9.4.9"; } } public override string creator { get { return "AllergenX"; } } public override void Load(bool startup) { OnChatEvent.Register(OnChat, Priority.High); } public override void Unload(bool shutdown) { OnChatEvent.Unregister(OnChat); } public static void OnChat(ChatScope scope, Player source, ref string msg, object arg, ref ChatMessageFilter filter, bool relay) { //The general criticism is that you have a lot of code that is copy-pasted and doing the same thing. //This can be a problem because if you have to fix or change something, you have to be able to accurately //copy and paste that change into many places, which can be a common source of mistakes. //For instance, your original code had this: // // else if (msg.CaselessContains("/srs")) // { // const string removeString = "/nsrs"; // //Beause of the copy pasting of each tone, you forgot to change the if /srs to if /nsrs //To solve this, we can write a function that handles the parts that were copy pasted before, //and pass arguments for the parts that are different, for much less repeated text. if (HandleTone("/j", "joking", ref msg)) { return; } if (HandleTone("/s", "sarcasm", ref msg)) { return; } if (HandleTone("/hj", "half-joking", ref msg)) { return; } if (HandleTone("/srs", "serious", ref msg)) { return; } if (HandleTone("/nsrs", "not-serious", ref msg)) { return; } if (HandleTone("/r", "romantic", ref msg)) { return; } if (HandleTone("/t", "teasing", ref msg)) { return; } //^ If the given tone was handled, we're done, so we can quit the function early with return. //You could also use else-if. It's a personal preference IMO } // Returns true if the tone was found and the message was modified, otherwise false public static bool HandleTone(string tone, string prefix, ref string msg) { int toneStart = FindTone(tone, msg); if (toneStart == -1) { return false; } string startOfString = msg.Substring(0, toneStart); string endOfString = msg.Substring(toneStart + tone.Length); // Remove a space to prevent double spaces when removing a tone if (endOfString.Length > 0 && endOfString[0] == ' ') { endOfString = endOfString.Substring(1); } string cleanString = startOfString + endOfString; msg = ("&7[&a"+prefix+"&7] " + cleanString); return true; } // Returns the index of a tone if it was found, -1 if not found public static int FindTone(string tone, string msg) { int toneStart = msg.IndexOf(tone); if (toneStart == -1) { return -1; } //We need to make sure the tone isn't part of another word or tone. //Both sides of the word must either be a space, or the start/end of the message bool leftSideClear = false; bool rightSideClear = false; // Bonus info: when using || in if statements to do "OR", as soon as one of the conditions is true, it skips over the remaining ones. // This means that we do not have to do string bounds checking when looking at index -1 because // it's guaranteed that toneStart is not zero if (toneStart == 0 || msg[toneStart-1] == ' ') { leftSideClear = true; } if (toneStart + tone.Length == msg.Length || msg[toneStart+tone.Length] == ' ') { rightSideClear = true; } if (leftSideClear && rightSideClear) { return toneStart; } else { return -1; } } } }
  14. That's a cool idea. In my opinion it might look better if the tones within the brackets were lowercase Would you like constructive criticism on the code itself?
  15. To modify messages sent by players, use OnChatEvent and modify the ref "msg" argument. I believe you will need to be using the latest build of MCGalaxy to do this, though. You can find latest builds here: https://123dmwm.com/MCGalaxy/ https://github.com/ClassiCube/MCGalaxy/blob/master/MCGalaxy/Events/ServerEvents.cs#L107 For instance public static void OnChat(ChatScope scope, Player source, ref string msg, object arg, ref ChatMessageFilter filter, bool relay) { if (message.CaselessContains("sign")) msg += " I STEPPED ON THE SIGN!"; }
×
×
  • Create New...