Discussion in 'Plugin Development' started by EvilSeph, Jan 17, 2011.
And prior to this (CB 1192) what was the recommended method for printing to console with color?
There wasn't one.
That said, you should probably note that you can no longer instantiate ConsoleCommandSender.
Oh I know, I just find it dumb they've broken the workaround we HAD to use to get color in console, but didn't give us a deprecation period to fix our plugins. I can't have a plugin that works with both pre and post 1192 that supports color in console.
Yes, it was a workaround, but it's one we had to use because YOU gave us no other way to do it. It worked perfectly fine until you broke it.
Now, before you use Grums "why do people try to get around our code and then whine when it fails. Just ask us if you need some API added damn it.", I'll respond with "Where's that Inventory API people asked for ~4 months ago?" -- Oh right, it's in Spout, a workaround.
You want an alternative? Okay. If you absolutely must get the server console for whatever purpose, server.getConsoleSender(). Is this enough?
You wanted deprecation? Sorry, but no can do. This is a class that nobody should ever have had access to. We do not deprecate internal stuff, especially when other people using it = it breaks things. Incidentally, plugins making this class broke things.
Can I start tampering with your private plugin internals and expect that you give me a grace period when you stop me because I was breaking stuff?
You mean that function added in 1192? As I said, there's no way to make a version that supports color, and yet still works with post/pre 1192.
Nope, there isn't. So if you absolutely must keep backwards compatibility, learn the magic of try and catch!
I'll just go back to using a Logger, thanks.
Good boy. No more complaining when things you shouldn't be using stops working
The only thing I really need it for is /me handling in iChat so it matches standard chat output in console. I'm still going to need to work around for that, but really it's an option that should have been added ages ago.
I do believe you may be looking for a way to broadcast messages. Allow me to point you to broadcastMessage
Sorry, I had forgotten that in CB 1075 you guys changed how broadcast works. (Actually I'm fairly certain that change is what brought on the multiple console output for plugins using their own instance of a Console).
It did because of the plugin that kept doing what they weren't supposed to be doing, as I stated before, caused multiple permissibles to be registered as the same output. That wasn't specifically due to this change, but this change just made the bug more obvious.
If you are going to troll, at least troll accurately, it was Tagh who said that. Not me.
Aww damn, I'm sorry, you were the one who refused my pull for an inventory API
...wait what? Grum's only a moderator?
The world would cave in on itself if he had any more power...
I feel like you're slightly upset about that pull not being accepted.
Let's keep this thread on topic, okay?
@Dinnerbone Not really, Spout now does it and more. What's annoying as shit is that you consider having to do a workaround because you provide no API bad, yet when someone tries to give you API for something it's denied unless it fits your perfect idea of what it should do. You then screw around with things and break the workaround, completely disable it on purpose, and give no backwards-compatible method of doing the same thing. One of the devs responses is "If you need API ask for it", which has been shown in the past to be pointless, hence using the workaround in the first place.
If the team had to support every random workaround that people came up with, they'd have a lot more work than they currently have. Considering that they already have so much work that certain APIs are slow in coming, I think that's a bad thing.
Should the new world creator thing be added to this thread?
Well, the old methods are still present (though deprecated), so it won't break plugins yet.
I know that. I also know that the world creator isn't in the current RB. I just thought that it was in the spirit of this thread to announce it.
True. And it seems Dinnerbone agrees with you too, so that's settled!
PaintingBreakByWorldEvent has been removed. You need to use PaintingBreakEvent instead and the new RemoveCause enum additions.
Is that some kind of caching mechanism?
No. We dropped the caching mechanism, that's why the two blocks are no longer the same object.
No. They used to use a caching mechanism. Now it checks the literal data.
Separate names with a comma.