pexplugins / modifyworld Goto Github PK
View Code? Open in Web Editor NEWRestriction plugin for Bukkit. Part of PermissionsEx bundle.
Restriction plugin for Bukkit. Part of PermissionsEx bundle.
Modifyworld is out of date, and should be made thread safe to use ASyncPlayerChatEvent.
Similar issue for ChatManager.
You cant deal damage, tame, interact with Wolfs and ocelots.
04:40:26 [INFORMACIËN] User cancabron checked for "modifyworld.tame.animal.wolf{
owner=null,tamed=false}", no permission found
04:43:08 [INFORMACIËN] User cancabron checked for "modifyworld.damage.deal.anima
l.wolf{owner=null,tamed=false}", no permission found
04:44:32 [INFORMACIËN] User cancabron checked for "modifyworld.items.use.0.on.en
tity.animal.ocelot{owner=craftplayer{name=cancabron},tamed=true}.cancabron", no
permission found
Mi permissions are:
In fact i can deal damage to other animals and monster if i put the same permission but change the name of the mob.
greets
Hello we keep getting this spamming us in console http://pastebin.com/fAF6cVgC We cannot determine what causes this issue.
We are using the latest dev build (170)
Thankyou :)
@t3hk0d3 There are probably dozens of users of PEX that don't know they have use-material-names: true
on by default. Since you added material names there hasn't been an easy way to find the applicable names of an item.
What can be the solution here? Should Modifyworld provide a list of materials - maybe as a text dump to the plugins/Modifyworld directory?
(See http://dev.bukkit.org/server-mods/permissionsex/forum/permissions-help/35579-something-wrong-with-yml for the thread on this ticket)
Bukkit 1.2.5 recommended build
PEX 1.19.1
Example perms:
groups:
red:
default: true
permissions:
- -modifyworld.damage.deal.group.red
- modifyworld.*
blue:
permissions:
- -modifyworld.damage.deal.group.blue
- modifyworld.*
users:
steven:
group:
- red
robert:
group:
- red
The idea is to keep the two groups from hurting their group memebers, as if friendly fire has been turned on, however, the permission checks are showing a problem...
22:34:56 [INFO] User robert checked for "modifyworld.damage.deal.group.red", "-modifyworld.damage.deal.group.red" found
22:34:56 [INFO] User robert checked for "modifyworld.damage.deal.player.steven", "modifyworld.*" found
22:34:56 [INFO] User steven checked for "modifyworld.damage.take.group.red", "-modifyworld.damage.take.group.red" found
22:34:56 [INFO] User steven checked for "modifyworld.damage.take.player.robert", "modifyworld.*" found
When modifyworld calls for the modifyworld.damage.take.player.* node, it's granted, causing damage. Negating modifyworld.damage.take.player.* doesn't fix it either as it negates damage from all players regardless of the group and the group damage setting.
it would be nice to have an option to block:
instant breaking
flying
spawning items (and maybe specifying which items)
Using latest spigot with snapshot protocol for 1.5 clients.
2013-03-13 17:59:14 [SEVERE] Could not pass event InventoryClickEvent to Modifyworld v1.19.4
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:26)
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:479)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:464)
at net.minecraft.server.v1_4_R1.PlayerConnection.a(PlayerConnection.java:1202)
at net.minecraft.server.v1_4_R1.Packet102WindowClick.handle(SourceFile:31)
at org.spigotmc.netty.NettyNetworkManager.b(NettyNetworkManager.java:174)
at net.minecraft.server.v1_4_R1.PlayerConnection.d(PlayerConnection.java:113)
at net.minecraft.server.v1_4_R1.ServerConnection.b(SourceFile:39)
at org.spigotmc.netty.NettyServerConnection.b(NettyServerConnection.java:67)
at net.minecraft.server.v1_4_R1.MinecraftServer.r(MinecraftServer.java:600)
at net.minecraft.server.v1_4_R1.DedicatedServer.r(DedicatedServer.java:228)
at net.minecraft.server.v1_4_R1.MinecraftServer.q(MinecraftServer.java:489)
at net.minecraft.server.v1_4_R1.MinecraftServer.run(MinecraftServer.java:421)
at net.minecraft.server.v1_4_R1.ThreadServerApplication.run(SourceFile:849)
Caused by: java.lang.ArrayIndexOutOfBoundsException
When opening a fence gate:
User Psithief checked for "modifyworld.item.use.0.on.block.107"
When closing a fence gate:
User Psithief checked for "modifyworld.item.use.0.on.block.107:4"
This makes no sense at all. This is forcing me to have two permissions just to open and close a gate.
Craftbukkit #2346
Modifyworld #168
Error occurs when you right or left click out of your inventory when you are in a chest, workbench, etc. Atleast, that is when it occurs when I do it. I see it a lot in console. Spams.
Using build #164, everything works, so I assume it is the inventory check with #165.
Literally can't use any build over #164 because it spams errors in console.
It seems that modify world has a nasty bug when it comes to the damage.deal hook. It seems to detect that your hitting a player but causes not damage and even indicates it fine through the debug but like I said does no damage to the NPC Player.
CombatTag is an amazing plugin when you logoff when you get tagged you can stay logged in lets say 5 minutes and the other player can kill your fake player and loot him.
Here is an example of the debug:
pex user kane_hart toggle debug
19:55:04 [INFO] Debug mode for user Kane_Hart enabled!
19:55:06 [INFO] User Kane_Hart checked for "modifyworld.damage.deal.player.PvpLogger4", "modifyworld.*" found
I also can confirm this is happening to another person and also I removed all plugins but pex/modifyworld/combattag.
Also combat tag works flawless with 20+ plugins as long as modify world is disabled.
22:21:43 [SEVERE] Could not pass event InventoryClickEvent to Modifyworld v1.19.4
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:341)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:1143)
at net.minecraft.server.Packet102WindowClick.handle(SourceFile:29)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:282)
at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:111)
at net.minecraft.server.ServerConnection.b(SourceFile:35)
at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30)
at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:561)
at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:213)
at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
Caused by: java.lang.NullPointerException
at ru.tehkode.modifyworld.handlers.PlayerListener.onPlayerInventoryClick(PlayerListener.java:189)
at sun.reflect.GeneratedMethodAccessor191.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:339)
... 14 more
Tis always happens if someone interacts with a enderchest.
please fix this :)
fyi: there are a lot of tickets with this error in the PermissionsEx Issues.
Now that the plugin now is run through Superperms. A few plugins such as bpermissions
Does not support wildcard nodes.
Many would appreciate custom wildcard nodes for this plugin. Because having a node for every freaking item and block is absurd.
Just a simple modifyworld.* and the individual perms for block place (
modifyworld.block.place.* and such would help server owners greatly.
This does not have to be hardcoded feature.
Add the feature and toggle it through setting in config.
Just in case a owner already has wildcard support. Have this feature disabled by default.
Its check the Permissions for Block with a AND operator so you have to set blockID and blockName to have permissions.
So lets turn:
protected boolean canInteractWithMaterial(Player player, String basePermission, Material type) {
return permissionsManager.has(player, basePermission + type.name().toLowerCase().replace("_", "")) && permissionsManager.has(player, basePermission + type.getId());
}
To:
protected boolean canInteractWithMaterial(Player player, String basePermission, Material type) {
return permissionsManager.has(player, basePermission + type.name().toLowerCase().replace("_", "")) || permissionsManager.has(player, basePermission + type.getId());
}
Hi,
I would like to give the /whitelist command to some groups, but... What nodes ?
(sorry for my pathetic english, I'm french :s)
Right now you can only block a whole block not certain types of blocks. So where I want to block say red wool I can only block all of them. Be nice if data value's could be used.
More and more custom content is coming out and this would help for example I have a block that id like to block 250:11 from one custom content haha.
Migrate from now-deprecated PlayerChatEvent to AsyncPlayerChatEvent
13:27:21 [SEVERE] Could not pass event PlayerInteractEvent to Modifyworld v1.19.4
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:341)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:177)
at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:366)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:650)
at net.minecraft.server.Packet15Place.handle(SourceFile:58)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:282)
at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:111)
at net.minecraft.server.ServerConnection.b(SourceFile:35)
at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30)
at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:570)
at net.minecraft.server.DedicatedServer.r(DedicatedServer.java:215)
at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:487)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:419)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:818)
Caused by: java.lang.ClassCastException: org.bukkit.material.MonsterEggs cannot be cast to org.bukkit.material.SpawnEgg
at ru.tehkode.modifyworld.handlers.PlayerListener.onPlayerInteract(PlayerListener.java:272)
at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:339)
... 16 more
you need the assembly to create a zip file like pex and compat assembly does.
https://github.com/t3hk0d3/PermissionsCompat/blob/master/src/main/assembly/package.xml
because the script creates links to the zip of the build not to the jar.
while the packe is ok and does contain Modifyworld, since the script copies the jar files from workspace w/o version numbers.
http://webbukkit.org/jenkins/packages/PermissionsEx/PermissionsEx-latest-package.zip
config.yml:
informPlayers: true
enable: true
itemRestrictions: true
messages:
prohibitedItem: You have prohibited item "%s".
whitelist: No raindeer games for you
permissionDenied: You are not a special snowflake
whitelist: false
drop-restricted-item: true
use-material-names: false
check-metadata: false
item-use-check: false
Players that do not have the modifyworld.* node can not log in unless modifyworld.login is added.
server.log example. Group permissions does not include modifyworld.*
02:33:28 [INFO] User bacon_avenger checked for "modifyworld.login", no permission found
02:33:28 [INFO] Player "bacon_avenger" were kicked by Modifyworld - lack of modifyworld.login permission
02:33:28 [INFO] Disconnecting bacon_avenger [/192.168.0.9:64741]: You are not allowed to join this server. Goodbye!
Modifyworld sets the damage value to 0 when it cancels a damage event.
This means a plugin higher up the priority chain can't decide to allow the damage since the value is lost.
-modifyworld.blocks.place.*:?*
and -modifyworld.blocks.destroy.*:?*
don't work properly when -modifyworld.blocks.interact.*:?*
is in effect. interact
has a higher priority than destroy
and place
. This should be swapped.
I am not sure if this is a bukkit problem or not. I have a suspicion that it is.
bukkit-1.2.3-R0.2-2050
PEX 1.19.1
For example, with -modifyworld.items.have.384
, an experience bottle in the players inventory is removed, but only after they use it or switch slots on their hot bar.
This poses a problem when in creative mode, as the player can place the bottle in their inventory and use it before modifyworld catches it. If modifyworld is configured to drop the item, the player can keep picking it up, throw it again, have it drop, then pick it up again and keep repeating this, making this an XP exploit.
On the client side of my server modify world does like 4 things
It won't let players in creative mode pick a doubleslab block and place it
It throws the players inventory when they try to place blocks into the build bar
It takes items picked up into the build bar and places them back into their inventory when used
and Finally, it refuses to let my players interact with lwc locked chests
Since 1.3 allows the use of dispensing lava and water through dispensers, griefing is possible even if you don't allow players to place lava or water. So need away to prevent players from placing lava and water inside of dispensers.
To refresh your memory, this conversation:
[21:17] Anyone know how to prevent people from dispensing lava with dispensers?
[21:25] UncleFlerpDerp: this is quite impossible
[21:26] because dispenser could be triggered remotely
[21:26] only way is to prevent placing lava into dispenser
[21:26] by player
[21:26] How would you do that?
[21:28] .. new feature detected ;)
[21:30] UncleFlerpDerp: well, thats not difficult
[21:30] but not today
[21:30] im sleepy :(
[21:30] Lol, okay. Could you pm on bukkitdev to tell me later?
[21:30] can you create ticket here https://github.com/PEXPlugins/Modifyworld/issues?state=open ?
[21:31] UncleFlerpDerp: probably it would be in next PEX release
[21:31] Ahh great thanks
[21:31] Awesome, can't wait for that then
Bukkit 1.2.5 R04.
PermissionsEx v1.19.2
02:17:52 CONSOLE: [SEVERE] Could not pass event EntityDamageByEntityEvent to Modifyworld
02:17:52 CONSOLE: java.lang.ClassCastException: org.bukkit.craftbukkit.CraftOfflinePlayer cannot be cast to org.bukkit.entity.Player
02:17:52 CONSOLE: [SEVERE] Could not pass event EntityTargetLivingEntityEvent to Modifyworld
02:17:52 CONSOLE: java.lang.ClassCastException: org.bukkit.craftbukkit.CraftOfflinePlayer cannot be cast to org.bukkit.entity.Player
02:17:52 CONSOLE: [SEVERE] Could not pass event EntityDamageByEntityEvent to Modifyworld
02:17:52 CONSOLE: java.lang.ClassCastException: org.bukkit.craftbukkit.CraftOfflinePlayer cannot be cast to org.bukkit.entity.Player
02:17:52 CONSOLE: [SEVERE] Could not pass event EntityDamageByEntityEvent to Modifyworld
02:17:52 CONSOLE: java.lang.ClassCastException: org.bukkit.craftbukkit.CraftOfflinePlayer cannot be cast to org.bukkit.entity.Player
The messages that notify users about permission restrictions aren't sent to the users.
There's no obvious permission to deny the use of bonemeal or placing boats/carts.
This would require a modifyworld.items.use permission, or a flat denial of all possible blocks that they could affect.
I'd rather have -modifyworld.items.use.351:15
instead of
-modifyworld.blocks.interact.(2|6|59|39|40|104|105) # grass/sapling/wheat/mushroom/redmushroom/melon/pumpkin
And it would be easier to use -modifyworld.items.use.(324|342|343) #cart, storage cart, powered cart
instead of
-modifyworld.blocks.interact.(27|28|66) #powered rails, detector rails, rails
It's just more intuitive. Please add.
So, I'll get straight to the point,
The white-list message is unchangeable, it is stuck as default even when I change it in the config.yml and there are no errors in the log.
Also, modifyworld.* does not work to give the modifyworld.login permission
Using:
CB 1.2.3-R0.2
PermissionsEx / ChatManager / Modifyworld version 1.19
Hello,
Can you add some restrictions in modifyworld ?
Like restrict what user can burn in the furnace, what they can craft, what they can wear (armor).
This would be very very interesting to make job.
Thanks !
Various problems with players being able to have or hold items with v1.19.4:
Everyone has persmissions modifyworld.items.have.* and modifyworld.items.hold.*
No problem with version 1.19.3.
I put modifyworld.blocks.interact.130 into permissions, but players still can open enderchest.
As example normal chest lock (modifyworld.blocks.interact.54) works fine.
Debug says... nothing. ModifyWorld does not check permissions for enderchest.
modifyworld fails to load in new install.
Missing config.save(); in modifyworld.initializeConfiguration ?
Server log with debug turned on:
2012-03-09 02:01:26 [INFO] User bacon_avenger checked for "commandbook.spawnmob.Zombie", "*" found
2012-03-09 02:01:26 [INFO] User bacon_avenger checked for "modifyworld.damage.take.monster.zombie", "*" found
I've heard this is a bug in bukkit, and I believe that if one is going to run a beta, you takes yer lumps ;) , but it comes up enough in the forums that I thought it's worth opening a ticket for to be sure.
19.4 doesn't block destroying of Itemframes. (- -modifyworld.blocks.destroy.* doesn't work, also not ID 389)
Interact is denied, but rotating the item in the frame isn't blocked. (- -modifyworld.blocks.interact.389 or *)
The commandblock isn't blocked. Chat says "Can't interact with command", but the GUI pops out.
Why I have to use a * beind the ID for blocking something like chests?
I thought, meta-data was removed?!
Info:
The Item_names from the wiki aren't correct.
I have to use all the names without a _, so brewingstand* instead of brewing_stand*
#2450
Hello,
I have in permissions.yml :
Most of the time, when I walk on items put on the floor, nothing happen to my wooden sword...
But sometimes it disappears. For example in this situation :
I have a wooden sword in my inventory (or in my hand). I kill a monster, it drops some items, I walk on the items, don't pick them, but my woodsword disappears...
craftbukkit #2073
permissionsEx 1.19.1 (tried with the latest dev build).
i don't know whats up with my ModifyWorld.jar but it won't create a config.yml or ModifyWorld folder.
craftbukkit-1.2.5-R1.0
PermissionsEx v1.19.2
Modifyworld v1.19
03:58:41 [SEVERE] Could not pass event EntityDamageByEntityEvent to Modifyworld
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:459)
at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:360)
at org.bukkit.craftbukkit.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:378)
at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:608)
at net.minecraft.server.EntityAnimal.damageEntity(SourceFile:124)
at net.minecraft.server.EntityOcelot.damageEntity(EntityOcelot.java:101)
at net.minecraft.server.EntityHuman.attack(EntityHuman.java:750)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:997)
at net.minecraft.server.Packet7UseEntity.handle(SourceFile:33)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:551)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:449)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.CraftOfflinePlayer cannot be cast to org.bukkit.entity.Player
at ru.tehkode.modifyworld.ModifyworldListener.getEntityName(ModifyworldListener.java:81)
at ru.tehkode.modifyworld.handlers.EntityListener.canMessWithEntity(EntityListener.java:125)
at ru.tehkode.modifyworld.handlers.EntityListener.onEntityDamage(EntityListener.java:50)
at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
... 16 more
There's an extra .
appearing in my console log when using the latest code for block placing checks and block destroying checks.
[INFO] User Psithief checked for "modifyworld.items.use.stone.on.block.stone", "modifyworld.*" found
[INFO] User Psithief checked for "modifyworld.blocks.place..stone", "modifyworld.*" found
[INFO] User Psithief checked for "modifyworld.blocks.destroy..stone", "modifyworld.*" found
Perm entry "modifyworld.blocks.destroy.mobspawner" does not appear to work
Following output in debug mode:
"User gopox checked for "modifyworld.blocks.destroy..mobspawner" <-- Note two periods
Possible name typo, haven't checked with modifyworld.blocks.place
Exception:
2012-08-16 22:21:47 [SEVERE] Could not pass event InventoryClickEvent to Modifyworld
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:332)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:1109)
at net.minecraft.server.Packet102WindowClick.handle(SourceFile:29)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:276)
at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:109)
at net.minecraft.server.ServerConnection.b(SourceFile:35)
at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30)
at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:581)
at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212)
at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
Caused by: java.lang.ArrayIndexOutOfBoundsException
2012-08-16 22:22:26 [SEVERE] Could not pass event InventoryClickEvent to Modifyworld
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:332)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:1109)
at net.minecraft.server.Packet102WindowClick.handle(SourceFile:29)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:276)
at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:109)
at net.minecraft.server.ServerConnection.b(SourceFile:35)
at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30)
at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:581)
at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212)
at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
Caused by: java.lang.ArrayIndexOutOfBoundsException
Caused by clicking outside of the inventorywindow, when a container (chest/dispenser/storageminecart/...) is opened.
Version: Modifyworld 1.19.4 - Build #165
Some mods (like BuildCraft, ComputerCraft etc.) creates fake players, so they can perform actions that can normally be done only by players (placing/breaking blocks etc.).
However, since 1.19.2, modifyworld does not detect those players and they automatically gets denied (even debug mode won't display anything about them).
Everything works fine in 1.19.1, so something was done wrong between those two versions that broke detection for fake players.
Modifyworld #161 from Jenkins. http://webbukkit.org:8080/job/Modifyworld/
Craftbukkit #2291
[WARNING] [Modifyworld] "Modifyworld v1.19.4" has registered a listener for org.bukkit.event.player.PlayerChatEvent on method "public void ru.tehkode.modifyworld.handlers.PlayerListener.onPlayerChat(org.bukkit.event.player.PlayerChatEvent)", but the event is Deprecated. Server performance will be affected; please notify the authors [t3hk0d3].
org.bukkit.plugin.AuthorNagException
at org.bukkit.plugin.java.JavaPluginLoader.createRegisteredListeners(JavaPluginLoader.java:302)
at org.bukkit.plugin.SimplePluginManager.registerEvents(SimplePluginManager.java:507)
at ru.tehkode.modifyworld.ModifyworldListener.registerEvents(ModifyworldListener.java:168)
at ru.tehkode.modifyworld.ModifyworldListener.(ModifyworldListener.java:47)
at ru.tehkode.modifyworld.handlers.PlayerListener.(PlayerListener.java:53)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at ru.tehkode.modifyworld.bukkit.Modifyworld.registerListeners(Modifyworld.java:110)
at ru.tehkode.modifyworld.bukkit.Modifyworld.onEnable(Modifyworld.java:74)
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217)
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:357)
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381)
at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:282)
at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:264)
at net.minecraft.server.MinecraftServer.i(MinecraftServer.java:296)
at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:275)
at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:225)
at net.minecraft.server.DedicatedServer.init(DedicatedServer.java:140)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:380)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
Simple polymorphism gone wrong I think,
2012-11-22 20:53:54 [SEVERE] Could not pass event PlayerInteractEvent to Modifyworld v1.19.4
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:341)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:177)
at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:376)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:662)
at net.minecraft.server.Packet15Place.handle(SourceFile:58)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:290)
at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:113)
at net.minecraft.server.ServerConnection.b(SourceFile:39)
at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30)
at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:595)
at net.minecraft.server.DedicatedServer.r(DedicatedServer.java:222)
at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:493)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:426)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:856)
Caused by: java.lang.ClassCastException: org.bukkit.material.MonsterEggs cannot be cast to org.bukkit.material.SpawnEgg
at ru.tehkode.modifyworld.handlers.PlayerListener.onPlayerInteract(PlayerListener.java:272)
at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:339)
... 16 more
Last few comments. :)
it would be nice to have an option to turn off breeding sheeps
Hi t3hk0d3,
nanashiRei recently found out that StorageMinecarts cant be denied by using "modifyworld.interact.storageminecart" only by adding "modifyworld.interact.storageminecart*"
StorageMinecart is an Entity thus having an Inventory. In those cases the inventory is appended to the ClassName in toString().
So either L88 of ModifyworldListener.java
String entityName = entity.toString().substring(5).toLowerCase();
should be changed to
String entityName = entity.getClass().getName().toString().substring(5).toLowerCase();
or EntityCategory should have
STORAGEMINECART("vehicle", StorageMinecart.class)
The default config.yml written by modifyworld looks like this:
itemRestrictions: false
informPlayers: false
whitelist: false
messages:
whitelistMessage: You are not allowed to join this server. Goodbye!
prohibitedItem: You have prohibited item "%s".
permissionDenied: Sorry, you don't have enough permissions
However, changing the whitelistMessage
entry doesn't change the message. The entry for the whitelist message should be whitelist
, or at least that is the line that works for me under 1.19.1
ver
09:13:12 [INFO] This server is running CraftBukkit version git-Bukkit-1.2.5-R4.0-b2222jnks (MC: 1.2.5) (Implementing API version 1.2.5-R4.0)ver Modifyworld
09:12:38 [INFO] Modifyworld version 1.19
09:12:38 [INFO] World modification permission ruleset
09:12:38 [INFO] Website: www.bukkit.org
09:12:38 [INFO] Author: t3hk0d3
05:49:26 [SEVERE] Could not pass event PlayerInteractEntityEvent to Modifyworld
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:304)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:979)
at net.minecraft.server.Packet7UseEntity.handle(SourceFile:33)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:567)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.CraftOfflinePlayer cannot be cast to org.bukkit.entity.Player
at ru.tehkode.modifyworld.ModifyworldListener.getEntityName(ModifyworldListener.java:81)
at ru.tehkode.modifyworld.handlers.PlayerListener.onPlayerInteractEntity(PlayerListener.java:200)
at sun.reflect.GeneratedMethodAccessor325.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302)
... 10 more
It seems that the plugin doesn't support the Scandinavia characters: Æ Ø Å.
And for some reason that make the plugin think it's version 1.16, instead of 1.17.
The error occurred when i was trying to change the text in the config file.
Error:
27.12 19:35:40 [Server] INFO at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
27.12 19:35:40 [Server] INFO at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:399)
27.12 19:35:40 [Server] INFO at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:165)
27.12 19:35:40 [Server] INFO at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:335)
27.12 19:35:40 [Server] INFO at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:348)
27.12 19:35:40 [Server] INFO at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:169)
27.12 19:35:40 [Server] INFO at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:186)
27.12 19:35:40 [Server] INFO at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:280)
27.12 19:35:40 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:968)
27.12 19:35:40 [Server] INFO at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:188)
27.12 19:35:40 [Server] INFO at ru.tehkode.modifyworld.bukkit.Modifyworld.onEnable(Modifyworld.java:62)
27.12 19:35:40 [Server] INFO at org.bukkit.plugin.java.JavaPlugin.getConfiguration(JavaPlugin.java:118)
27.12 19:35:40 [Server] INFO at org.bukkit.util.config.Configuration.load(Configuration.java:89)
27.12 19:35:40 [Server] INFO at org.yaml.snakeyaml.Yaml.load(Yaml.java:423)
27.12 19:35:40 [Server] INFO at org.yaml.snakeyaml.reader.StreamReader.(StreamReader.java:63)
27.12 19:35:40 [Server] INFO at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:191)
27.12 19:35:40 [Server] INFO at org.yaml.snakeyaml.reader.StreamReader.checkPrintable(StreamReader.java:98)
27.12 19:35:40 [Server] INFO in "", position 262
27.12 19:35:40 [Server] INFO unacceptable character '�' (0xFFFD) special characters are not allowed
27.12 19:35:40 [Server] SEVERE Error occurred while enabling Modifyworld v1.16 (Is it up to date?): special characters are not allowed
config.yml:
informPlayers: true
enable: true
itemRestrictions: true
messages:
prohibitedItem: You have prohibited item "%s".
whitelist: No raindeer games for you
permissionDenied: You are not a special snowflake
whitelist: false
drop-restricted-item: true
use-material-names: false
check-metadata: false
item-use-check: false
section from server.log:
04:42:32 [INFO] User bacon_avenger checked for "modifyworld.items.have.114", "*" found
04:42:32 [INFO] User bacon_avenger checked for "modifyworld.items.have.67", "*" found
04:42:32 [INFO] User bacon_avenger checked for "modifyworld.blocks.interact.2", "*" found
04:42:32 [INFO] User bacon_avenger checked for "modifyworld.blocks.place.67", "*" found
04:42:33 [INFO] User bacon_avenger checked for "modifyworld.blocks.interact.67:2", "*" found
04:42:33 [INFO] User bacon_avenger checked for "modifyworld.blocks.destroy.67:2", "*" found
04:42:34 [INFO] User bacon_avenger checked for "modifyworld.blocks.interact.114:2", "*" found
04:42:34 [INFO] User bacon_avenger checked for "modifyworld.blocks.destroy.114:2", "*" found
Bukkit build 2060 and PEX 1.19.1. Also happens under Bukkit R4 build 1938
So far, this has been seen with:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.