ResidenceSigns
ResidenceSigns
Version 2.10.0 is out now!
(Download may be delayed due to approval time)
Instead of making your players use "/res market rent Town.HouseName", allow your players to right click signs to rent and buy land, or put down signs to set up renting or selling with the Residence mod.
Language Change
If you want to have ResidenceSigns translated into your native language, copy/paste the template found here, change the statements that are in quotes to your native language, and PM it back to me!
Current Features
- Placing a [Rent] or [ForSale] sign on a residence that is already set up for rent or sale will automatically fill in all other information.
- [Rent] signs allow you to setup a residence for rent using "Price/Days/AutoRenew [t/f]?" on the third line and an optional residence full name on the second.
- Right clicking a [Rent] sign will attempt to rent the house in your name.
- Right clicking a [Rented] sign that is rented will unrent the house for you.
- When someone rents a house using a sign, the bottom line of the sign will change from "Available" to the renter's name.
- [ForSale] signs allow you to sell a residence for "Price" on the second line and an optional residence full name on the third.
- Right clicking a [ForSale] sign will attempt to buy the residence.
- When someone buys the residence, the bottom line of the sign will change from "Available" to "Sold".
- Sign text should update if there are any differences in info whenever someone right clicks.
- Owners of Residence can break the sign to remove it from the Market/Rentable.
- Picks up Residence Events and automatically updates Residence Signs accordingly.
- You can change the default Language by changing the Language config option and having the correct .yml file in the Language Folder.
- Residence name is optional on the third line. By default, wherever cuboid the sign is located in, it will try to use that residence.
- Multiple signs can used for one Residence.
Planned Features
- Code Cleanup.
- Suggestions from players.
Better Sign Storing and control.
Different Language Alternatives.
Adding Permissions.
Change Log ===
Version 2.10.0: 5/12/2013
- Fixed major bug with some signs popping off upon server restarts.
- Made sign creation prices more '$' friendly.
- Updated to CB 1.5.2-R0.1.
Version 2.9: 8/26/2012
- Fully reworked auto updater system. This should all ALL NPE's when interacting with signs.
- Fixed remaining CME's in auto updater system, signs will now automatically change the instant Residence changes the Residences' status.
- NO MORE SIGNS AUTO REMOVING THEMSELVES DUE TO THE ABOVE BUGS!
Version 2.8: 8/22/2012
- Hopefully a permanent fix for the CME NPE issue occurring on the auto update system.
- Fixed simple display when creating Rent Signs, the AutoRent on the sign will now say "true" instead of "t".
Version 2.7: 8/22/2012
- New Auto-Update Feature. Signs will now auto update the names listed on the Signs when changed using /res rename Command.
- Fixed a bad save variable of ForSale Residences to the signs.yml.
- Added more experimental features to the sign load in system. If a sign fails to load for any reason, ResidenceSigns will try to regenerate the sign with all the proper information.
- Old code cleanup.
Version 2.6: 8/20/2012
- Added experimental safe checks for on Sign Interactions when Residence was throwing NPEs to the Signs, will remove Signs if this occurs.
- Attempt to fix Signs not loading in properly after a restart or two.
- Make sure you are using Residence v2.6.5. This should fix all other remaining NPEs being thrown on attempts to grab variables from Residence itself.
- Updated to CB1.3.2-R2.0
Version 2.5: 7/31/2012
- Fixed the issue with the NullPointerErrors spamming on the automatic sign update system. For some reason occassionally blocks were calling an NPE when trying to acquire their State. The sign will now remove itself from the Plugin.
- NOTE: This will not as of this moment remove the ACTUAL sign as its pulling an NPE for the block, I will have a fix for this in a later update.
- Fixed the issue with sometimes ResSigns calling NPE's when trying to acquire the Residences AutoRepeat variable. Thank you Bekvon for fixing this.
- NOTE: This MAY require the Dev version of Residence as the fix is not actually live but implemented in their current Dev build.
- Added the "Sold" variable for the Alternative Language System.
- NOTE: YOU WILL NEED TO DELETE YOUR LANGUAGE FOLDER! Stop Server, Delete Language Folder, Start Server, Allow ResSigns To Regenerate All Language ymls. If not done in this Order, you WILL get Errors.
- Updated to CB1.2.5-R5.
Version 2.4.1 : 6/26/2012
- Fix NPE with alternative Language System. For some reason the Brazilian translation file was lost, re-added.
- Added Polish locale for alternative Language System.
Version 2.4 : 6/25/2012
- Changed the task that updates signs to run more effectively, as faster.
- Tweaked the loading in and saving of signs to hopefully keep the signs.yml more effective.
- Switched a few variables that should hopefully help fix issues with false set reatables to work correctly with the Signs as well as fix any NPEs that were still occuring.
Version 2.3 : 6/4/2012
- Fixed a check for players trying to unrent Residences when their name was too long to fit on the sign, method now checks Renting Players' Name. Sorry!
- Tweaked the auto sign refresh feature to be slightly more effective with the Residence Rent_Expire Timers.
- Updated to 1.2.5-R3.0
Version 2.2 : 5/5/2012
- *NEW* Added a reload command to quickly reload your config.yml.
- /rs reload.
- Fixed a bug where on RENT_EXPIRE, Rent Signs would display the Residence as Available regardless of status, and would need to be manually updated.
- Added Spanish.yml to the default alternative language system.
Version 2.1 : 5/2/2012
- Fixed issue where certain sign creation exceptions weren’t getting saved into the signs.yml.
- *NEW*Added finally the ability to call and set Residences as false for Auto-Renew Rentable on sign creations! YAY! (Testing on this feature is appreciated to make sure I got the write call methods from Residence since they were recently added).
Version 2.0 : 5/1/2012
- *NEW* Totally revamped the way ResidenceSigns handles the signs by using some flat yml files to also store Sign data(signs.yml). This new feature allows for much better sign control when Events get thrown from Residence. It is highly advised to not touch this file for any reason.
- *NEW* ResidenceSigns should now automatically update upon Residence Events occuring, either by "/" commands or if rent expires and player can't afford or the autorefresh is set to false.
- NOTE: Not every exception has been added just yet as I was quite excited to get this release out to all of you!
- *New*Added New config.yml node for Unrenting on Sign Right-Click. NOW STOP QQing ABOUT IT! :P
- Readjusted the temporary fix to the sign by changing it to left-click updates. By left-clicking the sign if it is rented but not displaying that, it will update, and vice versa if not rented but says it is, will fix as well.
- Added German.yml to default written languages for the Alternative Language system.
- Added smoother components to the conversion methods, if you have still yet to convert to v1.4+.
- Adjusted Config.yml Handler to even better recognize Out of Date Config.yml, and to update it.
- Adjusted the LanguageManager to better handle writing new alternative language.yml's.
- Massive Code Cleanup, a few methods combined for more effective code.
Permissions!
ResidenceSigns now has Permissions support via Vault!
- rs.admin - This node gives the player permission to place/break ForSale and Rent signs regardless of ownership. Defaulted to OP.
Reporting Bugs/Issues
When Reporting An Issue, Please Do The Following
- Your Craftbukkit version.
- Current version of ResidenceSigns.
- Describe the exact situation in which the issue occured (listing all applicable info, names, what sign reads, etc etc)
- Copy/Paste the error from the Console Log.
Installation and Help
- Drop ResidenceSigns.jar into /plugins directory.
- Enjoy!
- Wiki Page Now with pictures!
Donations
Happy with my work? Want to help out? Just glad to see this plugin back?
Feel Free To Donate!
This plugin is based off of the old ResidenceSigns plugin originally written by Karnedge(giving credit where due) but all the code was redone by scratch.
I got a problem when I try to set a flag and it says I dont have permission. Even though I am a owner And I do have residence.admin and rs.admin permission nodes in my config for PermissionsEX and Group Manager. If you guy's could possible help me with my problem
Version 2.5 is out now!
(Download may be delayed due to approval time)
NOTE! PLEASE READ THE CHANGELOG! AS THERE ARE SOME IMPORTANT NOTES FOR UPDATING TO 2.5!
@emfjop
Well theres your problem. ResSigns isnt even kicking in... See how you're getting a red lack of permissions notice from another plugin? ResSigns isn't even getting to play out.
Fix your permissions for the other plugin preventing the sign, and it will work...
@silentnight18
Well, theres a problem:
The owner of the residence and the subzone is Honeydew.
Photo here
He tries to do it and this is what happens: ''You dont have permission for this''
Photo here
I dont know what to do. Thanks
@emfjop
If they are the owner for the Residence, they can use ResSigns by default, otherwise, you give them rs.admin and they can always make a Sign, regardless of Owner.
@silentnight18
Thanks for the answer. Which perm node is it? I have been reading and theres only one: rs.admin but they are not admins!
@bekvon
haha hey bekvon! Yes I figured it was something real simple since it was just an NPE! I will look into the dev build sometime tonight and get that all rapped up, thnx bud!
@emfjop
This just depends on whats sending the issue, either Residence has it so they cant, or you did not give your users the ResSigns perm node to make the signs themselves.
@samman112
This issue is claimed to be fixed by Bevkon but I will need some time to get the Dev version and get it into ResSigns build path and then update.
@bekvon
I was getting the error with residence signs and residence but I still get this error, even with the development version of residence. We obtain this error when someone tries to rent a sign. Thanks in advance.
2012-07-28 11:01:40 [SEVERE] Could not pass event PlayerInteractEvent to ResidenceSigns 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 org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:177) at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:287) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:636) at net.minecraft.server.Packet15Place.handle(SourceFile:39) 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.NullPointerException at brandenBoegh.ResidenceSigns.ResidenceSignsListener.onSignPunch(ResidenceSignsListener.java:337) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.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:302) ... 12 more
Hello.
I have a problem: I am OP and i can sell Residence zones, but a normal person does it and it says: ''You dont have permission for this''
I havent found any permission for this, can you help me?
I have the last residence version and the last ResidenceSigns version.
Thanks
@silentnight18
Someone in our IRC channel alerted me to this NPE issue, and I think I have it fixed in the dev build of Residence now. It was missing a simple null check :) Let me know if it doesn't work for whatever reason. Thanks.
@twisterlj
I have been through the Residence source code, many times, as i had to study it in and out to MAKE ResSigns, its a Residence Issue, as I worked closely with bekvon to even get the call methods for some of the variables I needed so I could store them locally as well.
@deleted_8525468
is Bekvon no longer doing the coding? I used to work with him back when ResSigns was made because I needed access to certain variables and methods that weren't normally available. Either way, if someone gets a hold of me to fix this call issue, I will be more than welcome to get it fixed as it bugs me too. Its a simple NPE that I think just in certain calls to the method just slip and don't save the default variable so it leaves an empty variable. So when its called, it returns an NPE.
@silentnight18
I did bitch at Residence, t00thpick1 said he'd happily work with you to come to a solution.
I'm getting the exact same error as smk956. It is not a Residence issue, that is properly configured and running perfectly. The residences can be rented/bought/sold fine. The only time this error appears is when I try to place a sign to rent a residence... So.. I don't think this is a Residence issue.
Also, I cannot break the rent sign, and I have the rs.admin permission node, and OP.
@deleted_8525468
Bitch at Residence to fix their shit.
[SEVERE] Could not pass event SignChangeEvent to ResidenceSigns 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:1266) at net.minecraft.serverhook.NetServerHandlerProxy.a(NetServerHandlerProxy.java:217) at net.minecraft.server.Packet130UpdateSign.handle(SourceFile:41) at net.minecraft.server.NetworkManager.b(NetworkManager.java:229) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113) at net.minecraft.serverhook.NetServerHandlerProxy.a(NetServerHandlerProxy.java:83) 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.NullPointerException at com.bekvon.bukkit.residence.economy.rent.RentManager.getRentedAutoRepeats(RentManager.java:283) at brandenBoegh.ResidenceSigns.ResidenceSignsListener.onSignCreate(ResidenceSignsListener.java:118) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 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:302) ... 12 more
Versions: ResidenceSigns 2.4.1 Residence 2.6.4 CraftBukkit latest recommended build
Had this for ages and it's really holding my server back dude, I'd appreciate it if you'd help me find a solution.
Getting this whenever someone tries to make a rent sign. The forsale works but rent if you place a rent sign in a subzone that is already for rent.
2012-07-23 18:06:23 [WARNING] Task of 'ResidenceSigns' generated an exception java.lang.NullPointerException at org.bukkit.craftbukkit.block.CraftSign.<init>(CraftSign.java:17) at org.bukkit.craftbukkit.block.CraftBlock.getState(CraftBlock.java:227) at brandenBoegh.ResidenceSigns.ResidenceSigns$1.run(ResidenceSigns.java:88)
@ryan1161
ill take a look. Provide more info as well.
2012-07-23 17:30:45 [INFO] [ResidenceSigns] Disabling ResidenceSigns v2.4 2012-07-23 17:30:45 [SEVERE] Error occurred while disabling ResidenceSigns v2.4 (Is it up to date?) java.lang.NullPointerException at brandenBoegh.ResidenceSigns.ResidenceSigns.onDisable(ResidenceSigns.java:42) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:362) at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:399) at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:392) at org.bukkit.craftbukkit.CraftServer.disablePlugins(CraftServer.java:245) at net.minecraft.server.MinecraftServer.stop(MinecraftServer.java:399) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:479) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
Help this happened 3 time already after every time I have to delete the folder and start from scratch and I have 130 house selling but only for 1 day then this.
2012-07-23 17:30:56 [INFO] [Residence] Enabling Residence v2.6.3 2012-07-23 17:30:56 [INFO] [Residence] Found Vault using permissions plugin:PermissionsEx 2012-07-23 17:30:56 [INFO] [Residence] Scanning for economy systems... 2012-07-23 17:30:56 [INFO] [Residence] Found Vault using economy system: Essentials Economy 2012-07-23 17:30:56 [SEVERE] null java.lang.NullPointerException at com.bekvon.bukkit.residence.Residence.loadYml(Residence.java:1890) at com.bekvon.bukkit.residence.Residence.onEnable(Residence.java:260) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:215) at com.bekvon.bukkit.residence.Residence.setEnabled(Residence.java:1821) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:336) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:250) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:232) at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:371) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:358) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:187) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:422) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) 2012-07-23 17:30:56 [INFO] [Residence] Disabling Residence v2.6.3 2012-07-23 17:30:56 [INFO] [Residence] - FAILED INITIALIZATION! DISABLED! ERROR: 2012-07-23 17:30:56 [SEVERE] null java.lang.NullPointerException at com.bekvon.bukkit.residence.Residence.loadYml(Residence.java:1890) at com.bekvon.bukkit.residence.Residence.onEnable(Residence.java:260) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:215) at com.bekvon.bukkit.residence.Residence.setEnabled(Residence.java:1821) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:336) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:250) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:232) at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:371) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:358) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:187) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:422) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) 2012-07-23 17:30:56 [INFO] [ResidenceSigns] Enabling ResidenceSigns v2.4 2012-07-23 17:30:56 [SEVERE] Error occurred while enabling ResidenceSigns v2.4 (Is it up to date?) java.lang.NoClassDefFoundError: com/bekvon/bukkit/residence/Residence at brandenBoegh.ResidenceSigns.ResidenceSignsListener.<init>(ResidenceSignsListener.java:30) at brandenBoegh.ResidenceSigns.ResidenceSigns.onEnable(ResidenceSigns.java:66) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:215) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:336) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:250) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:232) at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:371) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:358) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:187) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:422) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) Caused by: java.lang.ClassNotFoundException: com.bekvon.bukkit.residence.Residence at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:41) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:29) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 12 more
@BukkitFan20021
This isnt even a ResidenceSigns issue....
@deleted_8525468
All my signs on my server work just fine and have for many months, and i have over 200 signs going.
@GeniusName3
Again, not a ResidenceSigns issue. Try setting up Residence properly first, b4 posting on an addon project thread.
I wrote at the sign: [Rent] 1000/7/f testgs
but, then:
"Economy disabled!" "Unable to rent! Try again!"
I used iConomy.
The command "/res market rent" doesn't work.
Please help me :) Sorry for my english, i'm german.