alex9849 / advanced-region-market Goto Github PK
View Code? Open in Web Editor NEWA Bukkit/Spigot plugin for renting/selling WorldGuard regions
Home Page: https://www.spigotmc.org/resources/advancedregionmarket.58732/
A Bukkit/Spigot plugin for renting/selling WorldGuard regions
Home Page: https://www.spigotmc.org/resources/advancedregionmarket.58732/
Situation:
My regions are rented per 7days. Max Rent Time = 21days
It's 9. July today, a shop is rented till the 26. of July
Player likes to extend his rent till the 30. of July.
Instead he gets the RentExtendMaxRentTimeExceeded
message that he is not allowed to extend his rent.
What is expected:
I would expect that he can extend the rent by another 4 days.
Meaning he should be charged 4/7*price until the 21 days are reached.
Paper 1.15.2
ARM v3.2
Hey, I have a suggestion related to ARM, to be short, add a Holographic Addon instead of signs, something like PlotSquared did, PlotSquared has a Addon that removes the signs and replaces them to Holograms, would be really nice and advanced instead of just using basic signs for it.
Perhaps a command such as /arm create sellregion (Worldguardregionname)
Everything was working great for a long time, but suddenly a lot of regions are not recognized by the plugin. Running commands say that no region like that exists. World guard still recognize them though.
MC 1.15.2
Plugin : 2.1.5
Java 11
Hey,
I recognized a conflict between the documentation and how the plugin actually works.
The docu says that /arm sellback has the permission arm.member.sellback .
But ingame that permission doesn't exist.
The code gives a hint for arm.member.sellregion being used instead. In my opinion, arm.member.sellback is a way better choice due to naming simplicity.
I want to request the addition of a command to teleport a player to a region. This would be useful for command blocks to do something like /arm tp @p <region>
.
It seems that the Region#updateSignText
method is very heavy to compute for all n
shops every second, is it maybe possible of fixing the timestamp onto the sign instead of updating the sign text each second / interval?
I was thinking about a line on the sign which could just be fixed, such as "Expires At dd-MM HH:mm" or something, so the plugin doesn't need to update the signs each tick at all.
Hey,
It would be very nice to have a feature to recalculate the price after changing the region size :)
After extending a rent region (maybe also contract region) a message in chat is wrong and says wrong date (before the payment date instead of a new date that a region has been extended to).
Hello,
It would be very nice to have a config option for specifying amount that is to be paid when a player wants to teleport to his owned region. Could you please add such an option? :)
Hello,
I'm not able to execute the custom setup command from preset:
rentpreset: rent3: userrestorable: false autorestore: false inactivityReset: false regionKind: Default autoPrice: example2 setupcommands: - arm setlandlord %regionid% tax
I would like to automatically set landlord of the region to the "tax" account, but it doesn't work and it says only "Server".
Could you please take a look on that? Thank you :)
Ive made a polygonal region, and when testing I found out that the area in which it resets is outside of the selected region
For example, with the image above, the green is an example of the area that i selected, but when the area is reset by the plugin it instead resets the red area
Discord: CheddahN#1185
if you have questions
On 1.16.4, when a player sets a greeting flag on a region using the flageditor, the greeting is correctly set on the region, but it also shows up in the normal chat as well. I'm using ChatControlPro so not sure if that could also be a factor or not.
Players report that they could rent for free. In order to test this, I set up the following:
A test server was running ARM 3.2.2 on Paper 1.16.1
An area was setup to rent per 7 days and a max rent time of 20 days.
This forces to recalculate the last 6 days.
What would be expected:
Initial rent: 100 $
Extend rent: 100 $
Extend last 6 days: ~ 85.71 $
The test:
Findings explained:
Initial rent: 100 $
Extend rent: Is claims to cost is, 100 $, but actually 85.71 was taken from the player
Extend last 6 days: Is claims to cost is, 85,72 $, but actually 0 $ was taken from the player.
Finally the player paid 100000 - 99814,29 = 185.91 $
Should the player decide to end the rent, it receives a charge back of 285,7$.
He earned 100 $ by renting an area. Not a bad deal xd
The problem probably exists since v 3.2.1 (Rentregions can now be extended everytime
)
As in a title, when region expires, I would like chests to get their protection removed.
The RentRegionExpirationWarning warns a player that a region is about to expire.
WARNING! This RentRegion(s) will expire soon:
But it doesn't tell the player WHEN it will expire.
The message doesn't seem to support placeholders like %remainingtime-countdown-short%
I would like to make a proper message like:
WARNING! Your RentRegion %regionid% will expire in about %remainingtime-countdown-short%
We can specify a default regionkind in settings as a new type "Default". Could we make a property for existing regionkinds, so that they can be default without creating a "Default" type for that?
Hello,
as written in the title, I would be happy to have more custom events available.
For example..: An event for buying, renting etc.
I would like to use this as interface for my Economy Plugin. Thanks in advance^^.
Avan
hello here I have the latest version of spigot 1.15.2 and AdvancedRegionMarket v2.1.5, I have a very good host but when I create a panel (rental) it takes a long time (server overload) and when a player clicks on the sign to rent it crashes the server
When I use /arm gui and I like to open the "My Region (Owner)" inventory, this error is displayed in the console.
`[18.04.2020 11:30:06] INFO: [Adventuria-1] [11:30:05 ERROR]: Could not pass event InventoryClickEvent to AdvancedRegionMarket v3.0.1
[18.04.2020 11:30:06] INFO: [Adventuria-1] java.lang.NullPointerException: null
[18.04.2020 11:30:06] INFO: [Adventuria-1] at java.util.ArrayList.(ArrayList.java:178) ~[?:1.8.0_242]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at net.alex9849.arm.gui.Gui.getRegionDisplayItem(Gui.java:1381) ~[?:?]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at net.alex9849.arm.gui.Gui.openRegionOwnerGui(Gui.java:143) ~[?:?]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at net.alex9849.arm.gui.Gui$1.execute(Gui.java:93) ~[?:?]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at net.alex9849.arm.gui.Gui.onClick(Gui.java:1884) ~[?:?]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor444.execute(Unknown Source) ~[?:?]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.13.2.jar:git-Paper-651]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.13.2.jar:git-Paper-651]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:66) ~[patched_1.13.2.jar:git-Paper-651]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:520) ~[patched_1.13.2.jar:git-Paper-651]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at net.minecraft.server.v1_13_R2.PlayerConnection.a(PlayerConnection.java:2288) ~[patched_1.13.2.jar:git-Paper-651]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at net.minecraft.server.v1_13_R2.PacketPlayInWindowClick.a(SourceFile:33) ~[patched_1.13.2.jar:git-Paper-651]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at net.minecraft.server.v1_13_R2.PacketPlayInWindowClick.a(SourceFile:10) ~[patched_1.13.2.jar:git-Paper-651]
[18.04.2020 11:30:06] INFO: [Adventuria-1]
at net.minecraft.server.v1_13_R2.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:15) ~[patched_1.13.2.jar:git-Paper-651]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_242]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_242]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at net.minecraft.server.v1_13_R2.SystemUtils.a(SystemUtils.java:108) ~[patched_1.13.2.jar:git-Paper-651]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:1018) ~[patched_1.13.2.jar:git-Paper-651]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:439) ~[patched_1.13.2.jar:git-Paper-651]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:940) ~[patched_1.13.2.jar:git-Paper-651]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:837) ~[patched_1.13.2.jar:git-Paper-651]
[18.04.2020 11:30:06] INFO: [Adventuria-1] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
`
First off thanks for the awesome region plugin! I really enjoy the features and quality it provides. However for me it has one thing missing: database support.
In our server everything is managed with git and only static config files are are placed into the plugins data directory.
Database support would also give users the option to display region stats on their website.
I am also willing to help on this and draft a PR if wanted.
And if you are worried about writing SQL queries or handling database connections, I have just the right tool for you ;)
https://github.com/Silthus/ebean-wrapper
The database feature could be optionally enabled if the wrapper is detected and configurable via the config.
The only thing needed for this to work is a short connect method in your plugin: https://github.com/Silthus/sStats/blob/55807b00c50fd2629bd4793f68a07ae31d6a1778/src/main/java/net/silthus/sstats/StatsPlugin.java#L56
And then you need to setup and store your entities (which you can completely reuse even without database support): https://github.com/Silthus/sStats/blob/master/src/main/java/net/silthus/sstats/entities/PlayerSession.java
Let me know if I should send a PR.
Rent a region then access the gui with
/arm gui
When you see the list of beds interact with the first one in any way... the server locks up completely until you are disconnected. If you have placed the fake "bed item" in your inventory it will no longer be there and you'll have been moved back in the world to wherever you were before opening the gui. No errors or any additional information is ever printed to console, even the console is unresponsive from the moment the "bed" is interacted with, it's not even possible to get a tps response until after the player who triggered the event is kicked from the server by a timeout.
Hello, I have a question: is it possible to move the rent sign for a region without resetting it so the player doesn't lose invested money and remaining rent time? Thanks for your help! :)
Actual behavior: Before selling/renting a region, the last owner login is set to 01.01.1970 01:00 everytime.
Expected behavior: Last owner login should be empty if no one has ever rented/bought it or a region is a new one.
At this moment setwarp is only available for admin.
Would be great if player could set his own tp location.
Also it would be neat if command used without specifing region would be executed on region which player is currently in.
Great plugin!
And this is a real problem since - although it is stated that it is easiest to use sign-linking mode, that too cannot function if regions are inside of ignored regions. (If those regions are not ignored, sign linking will again fail with "could not tell which region to select, put one in the ignore list in your config.yml" or similar wording). At this point this plugin is completely unusable as since the wiki isn't up to date about this command it is probably not 100% accurate with the format of the regions.yml file either, nevermind that I have no interest in generating that data by hand for 120+ regions, a single character of error anywhere and the entire plugin crashes anytime any command is run with no indication of what caused it.
Heya. Not sure what caused that and if that's an actual problem as it didn't cause any issues and didn't give any errors in the chat, but I thought it could be useful for you:
[02:44:28 INFO]: derMiepz issued server command: /arm hotel list
[02:44:28 INFO]: /arm hotel list
[02:45:45 ERROR]: Could not pass event SignChangeEvent to AdvancedRegionMarket v2.1.5
java.lang.NullPointerException: null
at net.alex9849.arm.regions.Region.getPrice(Region.java:428) ~[?:?]
at net.alex9849.arm.regions.Region.lambda$new$3(Region.java:76) ~[?:?]
at net.alex9849.arm.util.stringreplacer.StringReplacer.replace(StringReplacer.java:49) ~[?:?]
at net.alex9849.arm.util.stringreplacer.StringReplacer.replace(StringReplacer.java:24) ~[?:?]
at net.alex9849.arm.regions.Region.getConvertedMessage(Region.java:916) ~[?:?]
at net.alex9849.arm.regions.CountdownRegion.getConvertedMessage(CountdownRegion.java:208) ~[?:?]
at net.alex9849.arm.regions.RentRegion.getConvertedMessage(RentRegion.java:235) ~[?:?]
at net.alex9849.arm.regions.RentRegion.updateSignText(RentRegion.java:109) ~[?:?]
at net.alex9849.arm.regions.Region.updateSigns(Region.java:418) ~[?:?]
at net.alex9849.arm.regions.CountdownRegion.setPrice(CountdownRegion.java:186) ~[?:?]
at net.alex9849.arm.regions.RentRegion.setPrice(RentRegion.java:220) ~[?:?]
at net.alex9849.arm.handler.listener.SignModifyListener.addSign(SignModifyListener.java:181) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor430.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.15.2.jar:git-Paper-172]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.15.2.jar:git-Paper-172]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.15.2.jar:git-Paper-172]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.15.2.jar:git-Paper-172]
at net.minecraft.server.v1_15_R1.PlayerConnection.a(PlayerConnection.java:2586) ~[patched_1.15.2.jar:git-Paper-172]
at net.minecraft.server.v1_15_R1.PacketPlayInUpdateSign.a(SourceFile:44) ~[patched_1.15.2.jar:git-Paper-172]
at net.minecraft.server.v1_15_R1.PacketPlayInUpdateSign.a(SourceFile:10) ~[patched_1.15.2.jar:git-Paper-172]
at net.minecraft.server.v1_15_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:23) ~[patched_1.15.2.jar:git-Paper-172]
at net.minecraft.server.v1_15_R1.TickTask.run(SourceFile:18) ~[patched_1.15.2.jar:git-Paper-172]
at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.15.2.jar:git-Paper-172]
at net.minecraft.server.v1_15_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.15.2.jar:git-Paper-172]
at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.15.2.jar:git-Paper-172]
at net.minecraft.server.v1_15_R1.MinecraftServer.ba(MinecraftServer.java:1058) ~[patched_1.15.2.jar:git-Paper-172]
at net.minecraft.server.v1_15_R1.MinecraftServer.executeNext(MinecraftServer.java:1051) ~[patched_1.15.2.jar:git-Paper-172]
at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.15.2.jar:git-Paper-172]
at net.minecraft.server.v1_15_R1.MinecraftServer.sleepForTick(MinecraftServer.java:1021) ~[patched_1.15.2.jar:git-Paper-172]
at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:944) ~[patched_1.15.2.jar:git-Paper-172]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_241]
Shift clicking a rent sign will get you a question menu with a Yes and No button.
This menu blocks you from seeing the in chat warning that this will reset the region. So players miss the warning and sell their region and before they realize it, their stuff is gone.
Then they (might) read the chat and the region is already gone.
Is it possible to make the Yes button to have a lore with the appropriate warning? Just like the diamond in the arm gui
That one has a lore with a clear warning.
First of all i love the plugin and would love to have it on my server for our community. With Spongeforge having Economy Lite, Vault Builtin, World Edit and Universe Guard which was made due to worldguard still being developed for sponge. I was hopping if it would be possible to get this awesome plugin converted for Spongeforge. I know coding is a pain in the ass at times while being time consuming, that being said I'm more then happy to pay for your time. Please Contact me If your willing.
Spongeforge is a forge mod designed to allow Sponge Plugins
It would be nice to have a pre-buy event to be able to overwrite the balance check logic.
It would allow to have regions that deduct money from a faction/business/common account.
Reason: Currently rent regions are able to have their prices set via /arm setprice, but we cannot do the same for any buy/sell region without making a sign to create and define the price.
Proposal: Be able to run this command to set a region's price - /arm setprice regionname price
Iv ran into this issue popping up in console when I try to create a sign with my shop preset.
Im sure this is just some dumb config error on my part.
The console Error:
`>.... [16:54:56]: RustyDagger issued server command: /arm rentpreset load shop
.... [16:55:11 ERROR: Could not pass event SignChangeEvent to AdvancedRegionMarket v2.1.5]
java.lang.NullPointerException: null
at net.alex9849.arm.regions.Region.getPrice(Region.java:428) ~[?:?]
at net.alex9849.arm.regions.Region.lambda$new$3(Region.java:76) ~[?:?]
at net.alex9849.arm.util.stringreplacer.StringReplacer.replace(StringReplacer.java:49) ~[?:?]
at net.alex9849.arm.util.stringreplacer.StringReplacer.replace(StringReplacer.java:24) ~[?:?]
at net.alex9849.arm.regions.Region.getConvertedMessage(Region.java:916) ~[?:?]
at net.alex9849.arm.regions.CountdownRegion.getConvertedMessage(CountdownRegion.java:208) ~[?:?]
at net.alex9849.arm.regions.RentRegion.getConvertedMessage(RentRegion.java:235) ~[?:?]
at net.alex9849.arm.regions.RentRegion.updateSignText(RentRegion.java:109) ~[?:?]
at net.alex9849.arm.regions.Region.updateSigns(Region.java:418) ~[?:?]
at net.alex9849.arm.regions.CountdownRegion.setPrice(CountdownRegion.java:186) ~[?:?]
at net.alex9849.arm.regions.RentRegion.setPrice(RentRegion.java:220) ~[?:?]
at net.alex9849.arm.handler.listener.SignModifyListener.addSign(SignModifyListener.java:181) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor662.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.15.2.jar:git-Paper-146]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.15.2.jar:git-Paper-146]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.15.2.jar:git-Paper-146]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) ~[patched_1.15.2.jar:git-Paper-146]
at net.minecraft.server.v1_15_R1.PlayerConnection.a(PlayerConnection.java:2586) ~[patched_1.15.2.jar:git-Paper-146]
at net.minecraft.server.v1_15_R1.PacketPlayInUpdateSign.a(SourceFile:44) ~[patched_1.15.2.jar:git-Paper-146]
at net.minecraft.server.v1_15_R1.PacketPlayInUpdateSign.a(SourceFile:10) ~[patched_1.15.2.jar:git-Paper-146]
at net.minecraft.server.v1_15_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:23) ~[patched_1.15.2.jar:git-Paper-146]
at net.minecraft.server.v1_15_R1.TickTask.run(SourceFile:18) ~[patched_1.15.2.jar:git-Paper-146]
at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.15.2.jar:git-Paper-146]
at net.minecraft.server.v1_15_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.15.2.jar:git-Paper-146]
at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.15.2.jar:git-Paper-146]
at net.minecraft.server.v1_15_R1.MinecraftServer.ba(MinecraftServer.java:1038) ~[patched_1.15.2.jar:git-Paper-146]
at net.minecraft.server.v1_15_R1.MinecraftServer.executeNext(MinecraftServer.java:1031) ~[patched_1.15.2.jar:git-Paper-146]
at net.minecraft.server.v1_15_R1.IAsyncTaskHandler.executeAll(IAsyncTaskHandler.java:95) ~[patched_1.15.2.jar:git-Paper-146]
at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:1172) ~[patched_1.15.2.jar:git-Paper-146]
at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:934) ~[patched_1.15.2.jar:git-Paper-146]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]`
My files.
As in a title, maybe a command for renaming a region which would also affect WorldGuard? I don't know if it's possible, but would make things easier sometimes :)
Resetting existing regions is completely broken after updating from v3.2.8 to v3.3. When trying to reset a region with /arm reset <region name>
the following error appears in the log and the schematic is not loaded: https://pastebin.com/4pwJTQnE
For regions that were not sold at the time of the update, the reset works and the schematic is loaded correctly.
AdvancedRegionMarket version 3.3
FastAsyncWorldEdit version 1.16-507;bfd04e4
WorldGuard version 7.0.5-SNAPSHOT+15a0809
Tuinity version git-Tuinity-"f06591a" (MC: 1.16.4)
Sometimes I give my regions different names and I would like my players to see some other name as region name (for instance something which contains spaces). Could you please add a possibility to give display name for regions added to ARM?
Regionkind should be made groupable. For example it should be possible to group two regionkinds citybuild_small and citybuild_medium together to a group named citybuild.
The limitgroup feature should be expanded to allow admins to limit buyable regions per regionkind-group. This way players could decide how they want to allocate their regionlimits. For example if you set the grouplimit for the citybuild group to 5, players should be able to buy for example 2 citybuild_medium plots and 3 citybuild_small plots.
The /arm info commands needs to display to which group a regionkind belongs.
One possible way would be: RegionKind: citybuild_small (Citybuild)
Have support for landlords so players can get money from their regions. Should be set by doing /arm set landlord [region] [player]
If a hotel owner places a physics-obeying block in their hotel and it falls they get the "[ARM] You are only allowed to break blocks you placed here!" message when trying to break the block. It doesn't happen if they have previously placed a block there. I attached a YouTube video of me demonstrating.
https://youtu.be/_nf3-y3Mxh4
I've found a problem with displaying guide to add new members.
Actual behavior:
maxMembers set to -1 (unlimited)
the guide visible only when no members added
Expected behavior:
The guide visible always if not greater than maxMembers. In case of -1 (unlimited) it should be always visible. My players keep asking me how to add new members all the time.
Additional hints:
Is it possible to make it more user-friendly and clickable? For instance that you can click on that option and it is already written in chat. A player would need to change only the name of the new member.
Screenshot:
No members added (guide visible):
1 member added (no more guide although maxMembers = unlimited)
Sometimes, some regions refuse to set WG flags anymore.
Players complain they can't build in the rented area. although the sign says it's rented.
I'm not sure yet how to reproduce.
No errors
Workaround: unloading/loading plugin solves it.
I experience this since a couple of versions.
Currently running ARM 3.2.7
Paper 1.16.3
WG 7.0.4
Falling blocks like concrete powder are after the fall not recognized.
Steps to reproduce:
I didn't find that message in any configuration/code of ARM. It might come from another dependency.
11:42:54
Error occurred while enabling AdvancedRegionMarket v3.2.4 (Is it up to date?)
Console 11:42:54
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Double
at net.alex9849.arm.presets.PresetPatternManager.generatePresetObject(PresetPatternManager.java:31) ~[?:?]
at net.alex9849.arm.presets.PresetPatternManager.loadSavedObjects(PresetPatternManager.java:100) ~[?:?]
at net.alex9849.arm.util.YamlFileManager.(YamlFileManager.java:24) ~[?:?]
at net.alex9849.arm.presets.PresetPatternManager.(PresetPatternManager.java:20) ~[?:?]
at net.alex9849.arm.AdvancedRegionMarket.onEnable(AdvancedRegionMarket.java:201) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[patched_1.16.2.jar:git-Paper-160]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:380) ~[patched_1.16.2.jar:git-Paper-160]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:483) ~[patched_1.16.2.jar:git-Paper-160]
at org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugin(CraftServer.java:499) ~[patched_1.16.2.jar:git-Paper-160]
at org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugins(CraftServer.java:413) ~[patched_1.16.2.jar:git-Paper-160]
at net.minecraft.server.v1_16_R2.MinecraftServer.loadWorld(MinecraftServer.java:468) ~[patched_1.16.2.jar:git-Paper-160]
at net.minecraft.server.v1_16_R2.DedicatedServer.init(DedicatedServer.java:241) ~[patched_1.16.2.jar:git-Paper-160]
at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:939) ~[patched_1.16.2.jar:git-Paper-160]
at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$a$0(MinecraftServer.java:177) ~[patched_1.16.2.jar:git-Paper-160]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
INFO 11:42:54
[AdvancedRegionMarket]: Disabling AdvancedRegionMarket v3.2.4
ERROR 11:42:54
Error occurred while disabling AdvancedRegionMarket v3.2.4 (Is it up to date?)
Console 11:42:54
java.lang.NullPointerException: null
at net.alex9849.arm.AdvancedRegionMarket.onDisable(AdvancedRegionMarket.java:269) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:265) ~[patched_1.16.2.jar:git-Paper-160]
at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:415) ~[patched_1.16.2.jar:git-Paper-160]
at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:516) ~[patched_1.16.2.jar:git-Paper-160]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:384) ~[patched_1.16.2.jar:git-Paper-160]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:483) ~[patched_1.16.2.jar:git-Paper-160]
at org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugin(CraftServer.java:499) ~[patched_1.16.2.jar:git-Paper-160]
at org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugins(CraftServer.java:413) ~[patched_1.16.2.jar:git-Paper-160]
at net.minecraft.server.v1_16_R2.MinecraftServer.loadWorld(MinecraftServer.java:468) ~[patched_1.16.2.jar:git-Paper-160]
at net.minecraft.server.v1_16_R2.DedicatedServer.init(DedicatedServer.java:241) ~[patched_1.16.2.jar:git-Paper-160]
at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:939) ~[patched_1.16.2.jar:git-Paper-160]
at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$a$0(MinecraftServer.java:177) ~[patched_1.16.2.jar:git-Paper-160]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
I think it would be a good idea to add option to pay for flags set on the region (configurable which ones and for what price). It would greatly improve the purpose of having a server currency and extend it to a whole new level.
A player could for instance pay for creeper-explosion or tnt protection. It could be a one time price or an addition to renting price (in case of a rent region).
Some stuff that should be fixed because it is easy to misunderstand it, or because it is just inconsistent.
1.) Rename permission of the sellback command:
arm.member.sellregion
-> arm.member.sellback
2.) Move paybackpercentage variable to region object
Hello,
My server works without lags and any problems except for this one situation. When I am in /arm gui and I'm clicking on "my regions" the server hangs for a couple of seconds and such exception is visible on the console:
12.07 11:11:20 [Server] ERROR --- DO NOT REPORT THIS TO PAPER - THIS IS NOT A BUG OR A CRASH - git-Paper-375 (MC: 1.15.2) --- 12.07 11:11:20 [Server] ERROR The server has not responded for 10 seconds! Creating thread dump 12.07 11:11:20 [Server] ERROR ------------------------------ 12.07 11:11:20 [Server] ERROR Server thread dump (Look for plugins here before reporting to Paper!): 12.07 11:11:20 [Server] ERROR ------------------------------ 12.07 11:11:20 [Server] ERROR Current Thread: Server thread 12.07 11:11:20 [Server] ERROR PID: 26 | Suspended: false | Native: true | State: RUNNABLE 12.07 11:11:20 [Server] ERROR Stack: 12.07 11:11:20 [Server] ERROR java.net.SocketInputStream.socketRead0(Native Method) 12.07 11:11:20 [Server] ERROR java.net.SocketInputStream.socketRead(SocketInputStream.java:116) 12.07 11:11:20 [Server] ERROR java.net.SocketInputStream.read(SocketInputStream.java:171) 12.07 11:11:20 [Server] ERROR java.net.SocketInputStream.read(SocketInputStream.java:141) 12.07 11:11:20 [Server] ERROR sun.security.ssl.InputRecord.readFully(InputRecord.java:465) 12.07 11:11:20 [Server] ERROR sun.security.ssl.InputRecord.read(InputRecord.java:503) 12.07 11:11:20 [Server] ERROR sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:990) 12.07 11:11:20 [Server] ERROR sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:948) 12.07 11:11:20 [Server] ERROR sun.security.ssl.AppInputStream.read(AppInputStream.java:105) 12.07 11:11:20 [Server] ERROR java.io.BufferedInputStream.fill(BufferedInputStream.java:246) 12.07 11:11:20 [Server] ERROR java.io.BufferedInputStream.read1(BufferedInputStream.java:286) 12.07 11:11:20 [Server] ERROR java.io.BufferedInputStream.read(BufferedInputStream.java:345) 12.07 11:11:20 [Server] ERROR sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735) 12.07 11:11:20 [Server] ERROR sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678) 12.07 11:11:20 [Server] ERROR sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1593) 12.07 11:11:20 [Server] ERROR sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498) 12.07 11:11:20 [Server] ERROR sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268) 12.07 11:11:20 [Server] ERROR com.mojang.authlib.HttpAuthenticationService.performGetRequest(HttpAuthenticationService.java:130) 12.07 11:11:20 [Server] ERROR com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:66) 12.07 11:11:20 [Server] ERROR com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillGameProfile(YggdrasilMinecraftSessionService.java:180) 12.07 11:11:20 [Server] ERROR com.destroystokyo.paper.profile.PaperMinecraftSessionService.fillGameProfile(PaperMinecraftSessionService.java:37) 12.07 11:11:20 [Server] ERROR com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillProfileProperties(YggdrasilMinecraftSessionService.java:173) 12.07 11:11:24 [Multicraft] Skipped 36 lines due to rate limit (30/s) 12.07 11:11:24 [Server] WARN Can't keep up! Is the server overloaded? Running 13156ms or 263 ticks behind
Do you know maybe what can be the cause of such a lag? It happens also for other options but only in "my regions as owner" part.
EDIT: I think I find the cause of the problem. It is EntityLimits, it is calculated and I have regions with a lot of entities. Can I disable this feature completely?
This line seems to produce a nullpointer-exception
Hi there,
first of all thanks for your awesome plugin!
But i have a feature request/idea which is a bit unconventional (maybe):
a schematic selection gui when a player buys/rent a region (maybe toggable in per group) which allows the player to select which (house template for example) he wants to use.
This idea I just wanted to share with you, if you make something out of the idea is of course your business :D
Greetings
DerLinkman
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.