]> git.lizzy.rs Git - dragonfireclient.git/commitdiff
Re-Added Chat Effects
authorElias Fleckenstein <eliasfleckenstein@web.de>
Mon, 2 Nov 2020 10:57:16 +0000 (11:57 +0100)
committerElias Fleckenstein <eliasfleckenstein@web.de>
Mon, 2 Nov 2020 10:57:16 +0000 (11:57 +0100)
builtin/client/cheats/chat.lua
builtin/client/cheats/init.lua
builtin/client/util.lua
builtin/settingtypes.txt
src/defaultsettings.cpp

index 1b8094768d9a1b82408637f1ce7e560b14928832..1f3ecbaa280602db424327fd77d1bed277117241 100644 (file)
@@ -6,3 +6,38 @@ core.register_on_receiving_chat_message(function(message)
                return true
        end
 end)
+
+function core.send_colorized(message)
+       local starts_with = message:sub(1, 1)
+       
+       if starts_with == "/" or starts_with == "." then return end
+
+       local reverse = core.settings:get_bool("chat_reverse")
+       
+       if reverse then
+               local msg = ""
+               for i = 1, #message do
+                       msg = message:sub(i, i) .. msg
+               end
+               message = msg
+       end
+       
+       local use_chat_color = core.settings:get("use_chat_color")
+       local color = core.settings:get("chat_color")
+
+       if color then
+               local msg
+               if color == "rainbow" then
+                       msg = core.rainbow(message)
+               else
+                       msg = core.colorize(color, message)
+               end
+               message = msg
+       end
+       
+       core.send_chat_message(message)
+       return true
+end
+
+core.register_on_sending_chat_message(core.send_colorized)
index 8d634a76668fd60383d5da1b572a1172a247830b..6fd78b8b857cb4f8300ecb789bbabd6b7cedc496 100644 (file)
@@ -37,8 +37,8 @@ core.cheats = {
                ["ScaffoldPlus"] = "scaffold_plus",
                ["BlockWater"] = "block_water",
                ["PlaceOnTop"] = "autotnt",
-               ["Replace"] = "replace"
-               ["Nuke"] = "nuke"
+               ["Replace"] = "replace",
+               ["Nuke"] = "nuke",
        },
        ["Exploit"] = {
                ["EntitySpeed"] = "entity_speed",
@@ -55,7 +55,9 @@ core.cheats = {
        },
        ["Chat"] = {
                ["IgnoreStatus"] = "ignore_status_messages",
-               ["Deathmessages"] = "mark_deathmessages"
+               ["Deathmessages"] = "mark_deathmessages",
+               ["ColoredChat"] = "use_chat_color",
+               ["ReversedChat"] = "chat_reverse",
        },
        ["Inventory"] = {
                ["AutoEject"] = "autoeject",
index 20e0e1d1baf0baa619485585f26ec376298a34c4..783d0ceb1334266d9565589e84737440909c9402 100644 (file)
@@ -42,6 +42,11 @@ end
 function core.get_pointed_thing()
        local pos = core.camera:get_pos()
        local pos2 = vector.add(pos, vector.multiply(core.camera:get_look_dir(), 5))
-       local ray = core.raycast(pos, pos2, true, core.settings:get_bool("point_liquids") or core.get_item_def(core.localplayer:get_wielded_item():get_name()).liquids_pointable)
-       return ray:next()
+       local player = core.localplayer
+       if not player then return end
+       local item = player:get_wielded_item()
+       if not item then return end
+       local def = core.get_item_def(item:get_name())
+       local ray = core.raycast(pos, pos2, true, core.settings:get_bool("point_liquids") or def and def.liquids_pointable)
+       return ray and ray:next()
 end    
index 15c62ead1c74e830406e2c78206dcf971a358265..4dcfd10928a087436bea990fa4e8325f22a70232 100644 (file)
@@ -2308,3 +2308,9 @@ strip (Strip) bool false
 autorefill (AutoRefill) bool false
 
 nuke (Nuke) bool false
+
+chat_color (Chat Color) string rainbow
+
+use_chat_color (ColoredChat) bool false
+
+chat_reverse (ReversedChat) bool false
index bde6505a0fdd73b4e1d9a1ddf5407b4a21a6f513..e3332b14f3140a430565c6d9e4ae11342f9a6a44 100644 (file)
@@ -114,6 +114,9 @@ void set_default_settings(Settings *settings)
        settings->setDefault("strip", "false");
        settings->setDefault("autorefill", "false");
        settings->setDefault("nuke", "false");
+       settings->setDefault("chat_color", "rainbow");
+       settings->setDefault("use_chat_color", "false");
+       settings->setDefault("chat_reverse", "false");
 
        // Keymap
        settings->setDefault("remote_port", "30000");