Sponge vs Rainbow

Sure. Let’s use your example. In Rainbow you would have the following handler in your MyPlugin class…

public void onAttemptBlockBreak(MC_Player plr, MC_Location loc, MC_EventInfo ei) { // optionally get block involved... MC_Block blk = plr.getWorld().getBlockAt((int)loc.x, (int)loc.y, (int)loc.z); ... // call other plugin... ... }
You could then get whatever details you needed, pass player details, location/block info, etc to your other plugin. Then if they cancel it you set

ei.isCancelled = true;
3 Likes

@DoingItWell I think we misunderstand each other. Let me show you my plugin example.

I have a bukkit plugin called CloneMe. What it does is do the same actions as you do but elsewhere in the world. There is infinite plugins that could prevent me from building at a location and they need to be evaluated for the clone(s) too.

So what I have is multiple classes that inherit the base event. For example when a block breaks

public class CloneBlockBreakEvent extends BlockBreakEvent { public CloneBlockBreakEvent(Block theBlock, Player player) { super(theBlock, player); } }

When the real player breaks a block, the listener checks if it was an instance of CloneBlockBreakEvent. Then it creates a new CloneBlockBreakEvent for each clones.

@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onBlockBreak(final BlockBreakEvent event) { if (!(event instanceof CloneBlockBreakEvent)) { Player p = event.getPlayer(); List<Clone> clones = plugin.getCloneManager().getClones(p); if (clones != null && clones.size() != 0) { for (Clone clone : clones) { plugin.schedule(new ScheduledBlockChange(clone, plugin, p, event.getBlock(), ScheduledBlockChange.ChangeType.BLOCK_BREAK, event), 1); } } } }

Here I’m not checking the blocks in real-time for various reasons but only 1 tick after (some block properties are set after the event is accepted).

This is inside the scheduledblockchange, I raise the event like if it was the player doing it and any plugin can decide to cancel it.

[code]CloneBlockBreakEvent breakevent = new CloneBlockBreakEvent(newblock, player);

if (breakevent.isCancelled() || !clone.breakBlock(block, player)) {
player.sendMessage(ChatColor.RED + “Clone could not break block”);
}[/code]

1 Like

Well you could do this in a direct way but seems risky if you don’t know the plugins involved. For instance a foreign plugin may decide to do something in addition to just deciding to cancel.

But in any event, in Rainbow you have the ability to get the list of plugin classes and call their handlers directly. Normally Rainbow would be calling them but nothing stopping a plugin from calling it and providing a proxy for each parameter. So instead of a player or entity object you pass in a proxied object that extends it but responds to it in a way you want the clone to act. A natural use of this in 1.8 I see is in using armor stands as the clone.

I don’t see anything preventing you from accomplishing what is described. If other plugins played along you could have a way on your proxied object to determine if it was a proxy or real object. And if this was something really desired by a lot of plugin developers I could add something more specific to it.

1 Like

5 Likes

Well talk about butthurt Rainbow,

I already tried out Rainbow,and it does run 1.8 but terrible optimization.I think 1GB ram server still running 100% CPU without player o.o?

And most of the commands are useless and pointless to use,or even problematic.

I dont mind testing out both Sponge and Rainbow but seems Rainbow is too boastful with their API and pointed out that Sponge cant do anything and release slow.So yeah…Rainbow sucks, “Owner” itself took a bad trip to showed his Stupidity to the public.Also this is too rush development.

Sponge in other hand, still waiting for Forge 1.8,which a bit downside.But its a good thing though.
Because Sponge care about “Quality”,bugs comes to everyone mind.Reducing bugs are priority.

DoingItWell, it is mighty humble of you to offer help to Sponge, and to be on a same playing level… I think we do have a great opportunity here, i just hope that our pride can be minimized and continue to have a civil discussion.

Can’t wait to see what the communities have in store for the future. (i wouldn’t mind having custom blocks/entitys without having to have client mods, not sure if that’s possible though (off topic))

2 Likes

The terrible optimization seems to be the fault of Minecraft 1.8 rather than Rainbow from what I can establish, thus it’s not exactly Rainbow’s fault. There is no need to be rude about their design choices, criticizing is fine, but being disrespectful is unnecessary.

4 Likes

My apologies for the somewhat delayed reply and for the somewhat rude comments made by a few users in this thread.

Your offer of cooperation is most gracious, indeed far better than unnecessary competition, I will ensure that the other staff take a look at your proposal. :slight_smile:

I see nothing that would prevent your suggestion from working though, you are certainly most welcome to implement our API on your platform regardless of our decision if you so choose. I can’t say whether or not we will decide to accept your offer at this stage, though I can promise that we will give it due consideration.

In the meantime, good luck with your project, I hope we can forge an amicable relationship. :smile:

(You really should stop packaging Rainbow with the MC Server, try setting up a patcher or somesuch. :wink: )

1 Like

Murut87, I see your opinion and I totally disagree with what you said. The only one showing his stupidity to the public is you for acting immature, and disrespectful toward DoingItWell for doing nothing but offering a friendly proposal. Like i said in the beginning this is your opinion, and you know what they say about opinions, opinion are like a$$ hole everyone has one.

1 Like

Curb the drama before I lock the thread.

3 Likes

I apologize for my post. , but when i see post like that it really burns me up.

2 Likes

DoingItWell is one of the smartest people i have encountered while being involved in minecraft.He has made a wonderful way for server owners to be able to make 1.8 servers.
Ive run Rainbow on a bungee cord setup for a month now without problems.
Maybe murut87 didnt know how to set a server up…
I ran vannila through bungee before rainbow with vanillacord and that lagged horribly.After switching to Rainbow I was able to use 1.8 with no lag…kudos to DIW…

I love the all the talk of sponge, you do all know spigot is announced to be updated. This will kill sponge if they cant release a working build before spigot updates.For server owners Rainbow is a great alternative. Has many pre-built in plugins.It has a bukkit bridge incomplete i may add but does load at least 25 plugins.More being added daily.

bukkit plugins known to work.
Mod Snip

You can also add towny to that list just turn off health regen in towns true by default. Also over 45 plugins made for rainbow specifically like a permission file world edit and plenty others.

Rainbow plugin list.
Mod Snip

Rainbow will be geared more for built plugins for rainbow and I invite all bukkit plugin devs to come and port their plugins.

Realize that it’s impossible to write a good server platform within a few days.
Spigot won’t kill Sponge, it’s something different.

By the way, advertising is not allowed.

1 Like

Within a few days? Spigot has been working on this for a month and wont release for another month.The best alternative right now is Rainbow for server owners to get a 1.8 up and running.by the time sponge is released there will be Rainbow and spigot.lets see rainbow which will have 100s of plugins by the time spigot is updated.We will survive.Spigot which is so well known users will also flock to them (if they release 1.8). Wheres that leave sponge and its loyal followers? Well im inclined to say “in the dust”.I dont know what sponge followers were thinking.You all had to have known there would be other 1.8 releases and that MD_5 would not let spigot die.

And advertising the thread is called sponge vs rainbow the whole topic is an advertisement

Does spigot support Forge? I run a modded server, and I need a frameworks that can run side by side.

md_5 said spigot will be released in 2 to 6 weeks, or how he puts it 1.5 to 2.5 months after the release of mc1.8. I agree that running rainbow is currently a good alternative for server owners thought the difference to 1.7 spigot with the Carbon plugin is minimal. For minigames spigot is currently good enough (if not better than rainbow) but rainbow clearly wins when it comes to survival.

I agree that the sponge project is something which is needed by people running modded servers, so spigot won’t kill this.

so sponge will be the new forge servers? like ftb

No one said that. Sponge will be “the Bukkit” for Forge servers.

Not really. Sponge is something completely different than Spigot since unlike Spigot(before the dcma), it’s being written from scratch. And, like others have stated, it will be compatible with forge mods which is a huge plus since before you were usually forced to choose between server plugins or forge mods. If anything, Rainbow seems to be more in danger since it’s main selling point seems to be that it works with many bukkit plugins as you’ve stated here:

If anyone is gonna be left “In the dust” it would probably be rainbow. When spigot comes it probably it’ll have full bukkit plugin support like before (Unless I’m wrong in which case please tell me) and since it’s unlikely that Rainbow will will also achieve full bukkit support by then. Plus, with an api that plugin devs are already used to working with and the name that Spigot already has (I’m running a spigot server in fact), it seems more of a threat to you than Sponge. Because as you already said:

Also

That’s because it’s the (one of?) only working 1.8 servers atm. I don’t think even granite is ready for 1.8 yet.

  1. Going by that logic Spigot will beat Rainbow right out the gate and you’ll die out too.

  2. Who knows, maybe you’ll survive or you wont. Your dev seems plenty capable and it could find a niche of users if it doesn’t gain heavy traction. Same with Sponge, imo the future looks great for it but something could happen and it would die out too. Spouting what you think will happen as if it was fact like that seems pretty unprofessional.

MD_5 said he wouldn’t let it die way back when the dcma takedowns were first hit so most people already knew about that. And you’re acting like we thought the world would just twiddle their thumbs and wait for Sponge to release. There were plenty of 1.8 projects announced early on in Sponge’s life and possibly before so if anyone thought there weren’t gonna be any other 1.8 projects they would’ve been extremely blind to what was actually going on in the mc community.

As for “what were we thinking”? I can’t speak for anyone else but I was “thinking” that this project has the potential to become great thanks to the many known devs working on this. Most people have used worldguard and I’m sure nearly everyone at some point has used forge. So when the devs (along many others) decide to come together to make a new server api?? That sounds like a server that could end up becoming amazing.

You keep forgetting that the people behind Sponge aren’t just some random devs that nobody’s heard of before. They are well known devs that have built up trust and a name for themselves over the course of years. Even if ten more 1.8 servers come out before Sponge is usable I doubt it’ll die easy.

Plus devs can begin porting their plugins next month which will probably be before Spigot’s release.

FTB is just a modpack for forge. Not a server by itself.

Also, please don’t take this as an attack at you or anything because I hate it when people nitpick with people’s grammer and spelling when they disagree with them, but could you please use spaces after your periods when you post? It makes it hard to read otherwise.

Edit: Again, I don’t hate the rainbow project. In fact, especially when the main dev @DoingItWell came on and showed how reasonable and professional he is, I’m very impressed and actually like the project. I’m just pointing out where it seems to stand at this point of time in regards to the Spigot news like you have done.

Edit 2: Also, pros and cons thread =/= advertisement thread.

2 Likes