Comments (7)
Unless Bukkit has expanded the message broadcast API in the last few months, this wouldn't be possible without dropping some features. Most notably, the FancyMessage.send(...)
method relies on CraftBukkit APIs to send raw JSON messages to players, since Bukkit doesn't provide any API to do the same.
(At one point I did consider sending a PR to Bukkit adding the API I'd need, but I was told at the time by people more familiar with the process than I that they'd be unlikely to accept such a change. They seem to see the JSON message format as an "implementation detail" of the Minecraft protocol as it exists today, and thus not suitable for exposure via the public interface.)
Is there a particular third-party Bukkit API implementation you're looking to target? I could always look at baking in support for another backend if it's popular enough.
from fanciful.
I was looking at Glowstone. You could check out which server class you're using and use Reflection (using a system similar to mbaxter's NMS abstraction) to dynamically check the server type and use relevant features.
from fanciful.
This might be higher-priority than I'd originally determined. The unfolding legal drama around Bukkit is making a lot of people jump ship and I'd kind of like to start targeting the new majority platform for server mod developers – whatever that ends up being – once some of the dust settles and a clear community consensus appears.
from fanciful.
It is also worth noting that Spigot 1.8 does not have Gson shaded in, apparently, which breaks Fanciful.
from fanciful.
However, they have an API for fancy messages. Not sure if you think it's in the scope of this plugin, but it would be great if you utilized that for people using Spigot. That way, developers can stick to just using Fanciful and not have to complicate their code.
from fanciful.
As far as GSON shaded in, #50 does this. Also, as @mkremins mentioned, CraftBukkit is no longer being actively developed (ATM). This means we definitely need to work on supporting other implementations. If we need to access implementation details, we could build a system where we use different reflections depending on the version string, and then if we don't have a special reflection for a specific version, we default to CB/NMS-based reflection.
from fanciful.
This should be fixed as of commit 11a7e60. Since we're now using the standard /tellraw
command to send messages, we're no longer dependent on any CraftBukkit implementation details.
from fanciful.
Related Issues (20)
- Can't mvn deploy HOT 17
- Is it possible to use this library to align text in the 1.8 action bar? HOT 2
- itemTooltip(ItemStack) doesn't seem to respect damage values for items HOT 1
- Seems to be broken for latest 1.8.3 Spigot HOT 3
- Add replace function HOT 3
- GSON Missing? HOT 2
- Maven Repo down? HOT 4
- Can't load FancyMessage from String HOT 1
- Sending FancyMessage's HOT 3
- Spigot 1.7.10 - \n cartridge return? HOT 1
- Spigot 1.7.10 - \n cartridge return? HOT 2
- "NumberFormatException" HOT 10
- IllegalArgumentException when using fm.text() HOT 2
- Caused by: java.lang.IllegalArgumentException: The value must be specified. HOT 5
- Text alignment HOT 1
- .itemTooltip() no longer in fanciful? HOT 4
- Invalid Item shown in tooltip in chat with high item quantity
- Lack of Feature: Urls are not parsed into clickables
- Handling of Bukkit ChatColor HOT 1
- Shutting down Maven repo HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fanciful.