EngineHub / CraftBook

🔧 Machines, ICs, PLCs, and more!
https://enginehub.org/craftbook/
GNU General Public License v3.0
304 stars 163 forks source link

MC1235 cultivator IC doesn't respect WorldGuard regions #736

Open LadyCailinBot opened 10 years ago

LadyCailinBot commented 10 years ago

CRAFTBOOK-2818 - Reported by andy.armanini

I'm unsure if this is a bug or an unimplemented feature. Are MC1235 ICs supposed to respect WG regions? It would rely on who placed the sign I guess?

To reproduce: regular user with appropriate permissions places an MC1235 inside his region, sets radius to exceed his region, grass blocks in nearby regions are affected.

I have a main world border region in which the player has no owner/membership, the player's region is inside this main region

mureybet-wb:
  type: cuboid
  min: {x: -352.0, y: 0.0, z: -1376.0}
  max: {x: 864.0, y: 255.0, z: 352.0}
  priority: -1
  flags: {vehicle-place: allow, pvp: deny, vehicle-destroy: allow, use: allow, potion-splash: deny, enderdragon-block-damage: deny, exit: deny, farewell: You are leaving the city limits., chest-access: allow, entity-item-frame-destroy: deny, mob-damage: deny, entity-painting-destroy: deny, snow-fall: deny}
  owners: {}
  members: {}

kb+0015-0107:
  type: cuboid
  min: {x: -43.0, y: 0.0, z: -126.0}
  max: {x: 5.0, y: 255.0, z: -107.0}
  priority: 0
  flags: {}
  owners:
    players: [the player`s name is here removed for privacy reasons]
  members: {}

spigot 1211 craftbook 3403 worldguard 1264

LadyCailinBot commented 10 years ago

Comment by me4502

The reason this isn't implemented, is there is currently no way to know who it should check against. And even then, it is impossible to check against them if they are not online.

LadyCailinBot commented 10 years ago

Comment by andy.armanini

Fair enough I thought as much. Makes some CraftBook Mechs a bit dangerous. I'll mark this as suggestion instead.

LadyCailinBot commented 10 years ago

Comment by me4502

Most CraftBook mechs do obey protections, its really only IC's that don't, for the above reasons

LadyCailinBot commented 10 years ago

Comment by andy.armanini

Just a thought, could a check be done when the sign is placed? So a player places the sign, the range is checked to see that it doesn't intersect with any protection that doesn't belong to the player who places the sign. If the radius is too big throw an error. The only problem would be if the region was resized after the fact.

This sounds difficult. LOL

LadyCailinBot commented 10 years ago

Comment by me4502

Yeah, that could be a possible way of doing it.