shinydeagle / rfchairs Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
Chairs can sometimes place players in awkward locations that they cannot escape, for example, if they click on the underside of a slab and then exit above the slab, or vice versa.
I'm assuming that it's not possible to have a perfect solution to that, so what I'm asking for is a way to default seating to off until players have explicitly enabled the feature for themselves. That way, unwitting players will not find themselves in weird locations unexpectedly.
The WorldGuard flag allows administrators to prevent this on a per-region basis, but it would be preferable to be able to set a global default that players can then override with /rfchairs toggle
. The vast majority of the time players don't require this plugin to be active for them.
Spigot-api-version: 1.14.1-R0.1-SNAPSHOT
RFChairs version: 5.3
Paper-version: 1.14.1 Build-39
[RFChairs] Plugin RFChairs v5.3 generated an exception while executing task 1815
java.lang.NoClassDefFoundError: org/apache/commons/io/IOUtils
at com.rifledluffy.chairs.updating.Updater.getLastUpdate(Updater.java:24) ~[?:?]
at com.rifledluffy.chairs.ChairManager$1.run(ChairManager.java:472) ~[?:?]
at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftTask.run(CraftTask.java:84) ~[patched_1.14.1.jar:git-Paper-39]
at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) ~[patched_1.14.1.jar:git-Paper-39]
at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.14.1.jar:git-Paper-39]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_212]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_212]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]
No idea why I got this but it just popped up after start so thought I'd inform you. Other than that everything seems to work normally.
Hi,
I use PaperSpigot 1.14.2 and the last version of this plugin.
I put the new stairs in the config but I can't sit on it. I can on the stairs before 1.14. No error in the console...
Thank you in advance.
When you sit down, due to client delay and how the logic is, the player sees the stand before actually sitting down, or while being sat down. To improve this, you can use the World
method that allows you to provide a Consumer
that turns the stand invisible before putting it into the world. This would replace the spawning in line 263 of Util
(https://github.com/RifleDLuffy/RFChairs/blob/master/src/com/rifledluffy/chairs/utility/Util.java#L263), looking something like this:
ArmorStand armorStand = (ArmorStand) seat.getWorld().spawn(
seat.add(0.5, height, 0.5).setDirection(vector),
ArmorStand.class,
stand -> {
stand.setVisible(false);
stand.setGravity(false);
stand.setInvulnerable(true);
stand.setMarker(true);
stand.setCollidable(false);
});
Hi,
I've updated to the last version and can't no longer sit.
No error in console... [ paperspigot 1.13.2 (442) ]
I've try with full permissions to all players, as op, no way to sit.
I've put the 3.3 version back and it's working.
My config.yml
disable-update-message-if-on-latest: true
disable-update-messages: false
exit-seat-where-facing: false
allow-trap-door-chairs: true
require-empty-hand: true
max-distance: 2
max-item-count-to-sit: -1
require-signs-at-end: false
eject-player-on-damage: true
minimum-eject-damage: 2
face-attacker-when-ejected: false
toss-player: true
toss-velocity: 0.5
scale-toss-velocity: false
velocity-scale-factor: 2
regen-when-sitting: false
regen-potency: 0
allow-custom-messages: false
priority-on-if-has-perm: true
allowed-chairs:
- ACACIA_STAIRS
- BIRCH_STAIRS
- BRICK_STAIRS
- COBBLESTONE_STAIRS
- DARK_OAK_STAIRS
- DARK_PRISMARINE_STAIRS
- JUNGLE_STAIRS
- NETHER_BRICK_STAIRS
- OAK_STAIRS
- PRISMARINE_BRICK_STAIRS
- PRISMARINE_STAIRS
- PURPUR_STAIRS
- QUARTZ_STAIRS
- RED_SANDSTONE_STAIRS
- SANDSTONE_STAIRS
- SPRUCE_STAIRS
- WOOD_STAIRS
- STONE_BRICK_STAIRS
blacklisted-chairs: []
disabled-worlds: []
@RifleDLuffy Doesn't seem to work with the latest worldguard dev builds.
[00:28:17] [Server thread/ERROR]: Could not pass event ChairSitEvent to RFChairs v4.3
java.lang.NoSuchMethodError: com.sk89q.worldguard.internal.platform.WorldGuardPlatform.getWorldByName(Ljava/lang/String;)Lcom/sk89q/worldedit/world/World;
at com.rifledluffy.chairs.managers.WorldGuardManager.validateSeating(WorldGuardManager.java:61) ~[?:?]
at com.rifledluffy.chairs.ChairManager.onChairSit(ChairManager.java:149) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor808.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[patched_1.13.2.jar:git-Paper-488]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[patched_1.13.2.jar:git-Paper-488]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.13.2.jar:git-Paper-488]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:513) ~[patched_1.13.2.jar:git-Paper-488]
at com.rifledluffy.chairs.utility.Util.callEvent(Util.java:330) ~[?:?]
at com.rifledluffy.chairs.ChairManager.onChairCheck(ChairManager.java:272) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor806.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[patched_1.13.2.jar:git-Paper-488]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[patched_1.13.2.jar:git-Paper-488]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.13.2.jar:git-Paper-488]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:513) ~[patched_1.13.2.jar:git-Paper-488]
at com.rifledluffy.chairs.utility.Util.callEvent(Util.java:330) ~[?:?]
at com.rifledluffy.chairs.ChairManager.onRightClick(ChairManager.java:345) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor797.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[patched_1.13.2.jar:git-Paper-488]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[patched_1.13.2.jar:git-Paper-488]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.13.2.jar:git-Paper-488]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:513) ~[patched_1.13.2.jar:git-Paper-488]
at org.bukkit.craftbukkit.v1_13_R2.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:315) ~[patched_1.13.2.jar:git-Paper-488]
at net.minecraft.server.v1_13_R2.PlayerInteractManager.a(PlayerInteractManager.java:465) ~[patched_1.13.2.jar:git-Paper-488]
at net.minecraft.server.v1_13_R2.PlayerConnection.a(PlayerConnection.java:1352) ~[patched_1.13.2.jar:git-Paper-488]
at net.minecraft.server.v1_13_R2.PacketPlayInUseItem.a(PacketPlayInUseItem.java:37) ~[patched_1.13.2.jar:git-Paper-488]
at net.minecraft.server.v1_13_R2.PacketPlayInUseItem.a(PacketPlayInUseItem.java:5) ~[patched_1.13.2.jar:git-Paper-488]
at net.minecraft.server.v1_13_R2.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:12) ~[patched_1.13.2.jar:git-Paper-488]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
at net.minecraft.server.v1_13_R2.SystemUtils.a(SystemUtils.java:109) ~[patched_1.13.2.jar:git-Paper-488]
at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:1016) ~[patched_1.13.2.jar:git-Paper-488]
at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:439) ~[patched_1.13.2.jar:git-Paper-488]
at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:943) ~[patched_1.13.2.jar:git-Paper-488]
at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:841) ~[patched_1.13.2.jar:git-Paper-488]
at java.lang.Thread.run(Thread.java:834) [?:?]
if someone destroys a chair someone is sitting on, the player will sit in the air. Maybe add a config option to eject player if block is destroyed.
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.