Jump to content

Proper craftbukkit routing of block break events NEEDED!


rikmer

Recommended Posts

It would be of the utmost importance for all future tekkit server releases that block break events of all mods and plugins are properly routed through craft bukkit.

Without the possibility to control what players are able to do in certain regions a tekkit server is nearly impossible to run.

Link to comment
Share on other sites

It would be of the utmost importance for all future tekkit server releases that block break events of all mods and plugins are properly routed through craft bukkit.

Without the possibility to control what players are able to do in certain regions a tekkit server is nearly impossible to run.

All of the major mods use fakeplayers, at least as an option in their config files. EE, CC, BC, IC, and RP I know have this option for sure. If you turn this on, then the events are routed just as if a player did them, and you can assign permissions to the "players" (e.g. player "RedPower") to constrict these mods to specific areas, or stop them from affecting protected regions, or whatever. For example, a quarry near the edge of spawn can be made to dig all the blocks in its area except those overlapping with spawn protection.

Other mods are not always this fancy. For instance balkon's weapons mod. But those may still have proper event routing depending on how they were ported.

Link to comment
Share on other sites

not trying to derail here, but one thing I would like to see if its not adding too much overhead, is per-player, fakeplayers, then more consistent control can be done via plugins like worldguard etc, (i.e.: i want RedPower-thevortex to be able to build in my region, but not another players instance of the RedPower player object to be able to quarry into my area, unless this kind of functionality can be implemented currently, and I am missing something huge :D )

Link to comment
Share on other sites

not trying to derail here, but one thing I would like to see if its not adding too much overhead, is per-player, fakeplayers, then more consistent control can be done via plugins like worldguard etc, (i.e.: i want RedPower-thevortex to be able to build in my region, but not another players instance of the RedPower player object to be able to quarry into my area, unless this kind of functionality can be implemented currently, and I am missing something huge :D )

This is pretty much logically impossible.

What counts as "my" redpower device? There's no clear definition or way to determine that. Considering redpower devices can be crafted automatically in about 5 ways and can be placed down initially by other redpower devices or by turtles or by WorldEdit, or by VoxelSniper, or by MCEdit, or.... etc. etc.

Redpower devices are just... redpower devices. I see no way that they could ever belong to any particular real human player. Thus, adding perms for all of redpower is very possible (and is already a feature), but not what you are suggesting.

As a workaround, you could, however, make it so that redpower devices work in Region A, but not in Region B, and then prevent people from traveling into Region A who are not you. But it would have to be all tied together by region not by "owner"

Link to comment
Share on other sites

when a human places the block, it gets registered to him/her(edit for PC correctness), any further blocks that block may be able to place should inherit the ownership from the parent

But a player doesn't ever HAVE to place the block. What happens if the very first turtle in the world is added by MCEdit or WorldEdit? And then all subsequent turtles and redpower machines are crafted by other turtles (in CC 1.4)? There is no owner for any of those created things.

Also, in your inheritance system, what is stopping me from walking up to one of your deployers, putting a freshly crafted turtle inside, and deploying a turtle, thus making it "yours" and then breaking it and walking around with your turtle in your area, wreaking havoc?

Also, how do you stack items with different owners?

What if my turtle is placed by me and then broken by Joe's blockbreaker, and then placed by your deployer, and then broken by Tim, and then traded to Emily, who puts it in her turtle and has that place it?

Who is responsible for the actions of a computer that was placed by you and is next to a disk drive placed by me, with code from a disk made by Tim in it?

Who is responsible for the actions of a deployer placed by you that is fed by an enderchest that 5 people have the code to and their own copies of?

Who is responsible and what permissions are used for a nuclear reactor blowing up, when its cooling system was turned off by wireless remote, with a wireless receiver that you placed but I hacked into with my own transmitter at the same frequency?

Your system would not have answers to some of these questions. Others, it would have answers to, but not necessarily the ones we intuitively WANT it to have...

Link to comment
Share on other sites

1. I am looking from a gameplay point of view, MCEdit'd items don't appear as a result of normal gameplay. items worldedited in should take the ownership from the person doing the worldedit.

2. in my inheritance system you do not have access to my deployers to place said turtle.

3.your turtle would not have been broken by joes blockbreaker in the first place

4. your deployer should only be fed by your own machines. LWC does allow for locking of industrialcraft/buildcraft/redpower items with proper configuration

5. the explosion would happen and be treated as if it had been created by me, leaving a huge smoking hole, not saying this is a good thing, but it would be the expected outcome.

Link to comment
Share on other sites

1) This mass compatibility is never going to happen. There is exactly a 0% chance that the mod developers for every single program people use to modify the world creatively will add this functionality to their code to make you happy. You'd have to specifically include this in the source for worldedit, MCedit, any other popular world modifying tool like voxelSniper, VoxelDoop, etc. etc. Some of which barely even have permissions and aren't mainly used for tekkit. So since it isn't going to happen, you need some decision that will be made if and when a machine has no known owner, because it will happen. How does the system handle such an event?

2) Wait what? Machines can only be opened or manipulated by other machines they are related to? That makes a TON of things in tekkit not work at all. A ton of very fun things. For example, ender chests just won't plain work at all for like 75% of the things people use them for. You also couldn't ever have any community machine rooms, which I've seen on almost every single survival server I've gone on. Including regular survival or yogscast style "companies" team based ones. It also makes it possible to make really overpowered defenses: essentially, if I place a wall of transposers, it is for all practical purposes now equal to a wall of bedrock to you, if you aren't allowed to interact with "my" blocks. That will cause all kinds of trouble. You also can't have any sort of trading system assisted by machines, for example. And nobody can ever cooperate to build anything complex, because the machines wont send items in the half I'm working on to the half you're working on. Which eliminates a good portion of the enjoyable gameplay from a MULTIPLAYER server. Nor can you have computer login screens for your base, since nobody else can open the computer to type on it. Etc. etc. etc.

3) Same as above, but now apparently we also have invulnerable turtles? And not only invulnerable turtles, but invulnerable turtles that nobody else can open or access the code on?! That would basically mean that I can make a small group of turtles that just destroys the entire landscape (areas that currently belong to nobody) automatically, and if you stumble across them, you can do absolutely nothing to stop them unless you're an admin.

This is a ridiculous number of horrible, horrible side effects in order to make possible one small little novelty thing that most people couldn't care less about. As they say "the cure is worse than the disease." And that's even assuming there is a good solution to the "no owner" turtles and machines in #1

Link to comment
Share on other sites

I still have to look into fake players but one prior question. Would it be possible to use a mod like ProtectioStones ( http://dev.bukkit.org/server-mods/protectionstones/ ) with fake players?

The thing is, as I understand so far, that I can block certain features of plugins via fake players for, lets say, WorldGuard regions. But with ProtectionStones this would mean that even the real player who owns that region cannot use the features that are blocked? Am I right?

If I am wrong could someone please give me a hint on how that could be accomplished with fake players?

Link to comment
Share on other sites

I still have to look into fake players but one prior question. Would it be possible to use a mod like ProtectioStones ( http://dev.bukkit.org/server-mods/protectionstones/ ) with fake players?

The thing is, as I understand so far, that I can block certain features of plugins via fake players for, lets say, WorldGuard regions. But with ProtectionStones this would mean that even the real player who owns that region cannot use the features that are blocked? Am I right?

If I am wrong could someone please give me a hint on how that could be accomplished with fake players?

I don't know the specifics of exactly how that plugin works, but it looks like everybody except the owner of the "stone" is blocked. Thus, the way fakeplayers work right now, you could protect a region for a human player, but they wouldn't be allowed to use any of the block manipulating features of those mods in that area (e.g. turtles moving or quarrying). OR you could probably assign a stone to redpower, and no humans could place blocks there, but redpower could deploy there.

Sounds pretty useless either way in terms of tekkit. You'd be much better off with a much more sophisticated plugin like worldguard that would be able to do overlapping and complex permissions.

Link to comment
Share on other sites

ProtectionStones is based on WorldGuard. What the mod is doing, is that if you build a certain block eg. coalore a 11x11x11 region for the player, who placed the block, is generated by WorldGuard. But if I understand you right, fake players wouldn't help because than even the real player wouldn't be able to have full access to his region.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...