ichorpowered / latch Goto Github PK
View Code? Open in Web Editor NEWLatch - An extensive container locking plugin for Sponge.
License: MIT License
Latch - An extensive container locking plugin for Sponge.
License: MIT License
This could also be the start of more, with some other configuration manipulation abilities.
input That is not a lockable block: tile.fir_door_block.name
but me add the fir_door's item id:"biomesoplenty:fir_door" into config latch.conf
please fix it
If you shift right click with an empty hand on a locked chest, it will open it and you can remove items!
I'm running latch-0.4.2-S6.0.0 on spongevanilla-1.11.2-7.0.0-BETA-269
If I lock a double chest only the section I clicked on will be protected. Anyone could still click on the other half and take the items. If I try to lock the second half it says "There is already a lock here".
The other plugins I have is:
LuckPerms
Prism
Nucleous
SleepVote
FastAsyncWorldEdit
This plugin is good. I'm so appreciate if this can connect to MySQL. Maybe you could consider that?
`[Server thread/ERROR] [Sponge]: Could not pass ChangeBlockEvent$Break$Impl to Plugin{id=latch, name=latch, version=0.5.0, description=An extensive container locking plugin., url=https://github.com/IchorPowered/Latch, source=.\mods\Latch-0.5.0-S7.1.0.jar}
java.lang.NullPointerException: null
at com.meronat.latch.entities.LockManager.getLock(LockManager.java:59) ~[LockManager.class:?]
at com.meronat.latch.listeners.ChangeBlockListener.onBreakBlockByPlayer(ChangeBlockListener.java:197) ~[ChangeBlockListener.class:?]
at org.spongepowered.common.event.listener.BreakListener_ChangeBlockListener_onBreakBlockByPlayer341.handle(Unknown Source) ~[?:?]
at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:383) [SpongeModEventManager.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.mod.event.SpongeModEventManager.extendedPost(SpongeModEventManager.java:443) [SpongeModEventManager.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:404) [SpongeModEventManager.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.common.event.SpongeEventManager.post(SpongeEventManager.java:447) [SpongeEventManager.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:225) [SpongeImpl.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.common.event.tracking.TrackingUtil.iterateChangeBlockEvents(TrackingUtil.java:606) [TrackingUtil.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.common.event.tracking.TrackingUtil.processBlockCaptures(TrackingUtil.java:499) [TrackingUtil.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.common.event.tracking.TrackingUtil.processBlockCaptures(TrackingUtil.java:454) [TrackingUtil.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.common.event.tracking.phase.packet.InteractionPacketState.unwind(InteractionPacketState.java:130) [InteractionPacketState.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.common.event.tracking.phase.packet.InteractionPacketState.unwind(InteractionPacketState.java:72) [InteractionPacketState.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.common.event.tracking.PhaseTracker.completePhase(PhaseTracker.java:265) [PhaseTracker.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.common.event.tracking.PhaseContext.close(PhaseContext.java:565) [PhaseContext.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:94) [PacketUtil.class:1.12.2-2705-7.1.0-BETA-3361]
at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$zle000(SourceFile:539) [hv$1.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) [hv$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_171]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_171]
at net.minecraft.util.Util.func_181617_a(SourceFile:46) [h.class:?]
at org.spongepowered.common.SpongeImplHooks.onUtilRunTask(SpongeImplHooks.java:293) [SpongeImplHooks.class:1.12.2-2705-7.1.0-BETA-3361]
at net.minecraft.server.MinecraftServer.redirect$onRun$zjj000(MinecraftServer.java:3963) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:723) [MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:396) [nz.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_171]
[Server thread/ERROR] [Sponge]: Could not pass ClickInventoryEvent$Shift$Primary$Impl to Plugin{id=latch, name=latch, version=0.5.0, description=An extensive container locking plugin., url=https://github.com/IchorPowered/Latch, source=.\mods\Latch-0.5.0-S7.1.0.jar}
java.lang.NullPointerException: null
at com.meronat.latch.entities.LockManager.getLock(LockManager.java:59) ~[LockManager.class:?]
at com.meronat.latch.listeners.InteractBlockListener.onClickInventory(InteractBlockListener.java:91) ~[InteractBlockListener.class:?]
at org.spongepowered.common.event.listener.ClickInventoryEventListener_InteractBlockListener_onClickInventory346.handle(Unknown Source) ~[?:?]
at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:383) [SpongeModEventManager.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.mod.event.SpongeModEventManager.extendedPost(SpongeModEventManager.java:443) [SpongeModEventManager.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:404) [SpongeModEventManager.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.common.event.SpongeEventManager.post(SpongeEventManager.java:447) [SpongeEventManager.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:225) [SpongeImpl.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.common.event.tracking.phase.packet.BasicInventoryPacketState.unwind(BasicInventoryPacketState.java:195) [BasicInventoryPacketState.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.common.event.tracking.phase.packet.BasicInventoryPacketState.unwind(BasicInventoryPacketState.java:56) [BasicInventoryPacketState.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.common.event.tracking.PhaseTracker.completePhase(PhaseTracker.java:265) [PhaseTracker.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.common.event.tracking.PhaseContext.close(PhaseContext.java:565) [PhaseContext.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:94) [PacketUtil.class:1.12.2-2705-7.1.0-BETA-3361]
at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$zle000(SourceFile:539) [hv$1.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) [hv$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_171]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_171]
at net.minecraft.util.Util.func_181617_a(SourceFile:46) [h.class:?]
at org.spongepowered.common.SpongeImplHooks.onUtilRunTask(SpongeImplHooks.java:293) [SpongeImplHooks.class:1.12.2-2705-7.1.0-BETA-3361]
at net.minecraft.server.MinecraftServer.redirect$onRun$zjj000(MinecraftServer.java:3963) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:723) [MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:396) [nz.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_171]
[Server thread/ERROR] [Sponge]: Could not pass InteractBlockEvent$Secondary$MainHand$Impl to Plugin{id=latch, name=latch, version=0.5.0, description=An extensive container locking plugin., url=https://github.com/IchorPowered/Latch, source=.\mods\Latch-0.5.0-S7.1.0.jar}
java.lang.NullPointerException: null
at com.meronat.latch.entities.LockManager.getLock(LockManager.java:59) ~[LockManager.class:?]
at com.meronat.latch.listeners.InteractBlockListener.onPlayerClick(InteractBlockListener.java:179) ~[InteractBlockListener.class:?]
at org.spongepowered.common.event.listener.InteractBlockEventListener_InteractBlockListener_onPlayerClick349.handle(Unknown Source) ~[?:?]
at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:383) [SpongeModEventManager.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:347) [SpongeModEventManager.class:1.12.2-2705-7.1.0-BETA-3361]
at org.spongepowered.mod.event.SpongeModEventManager.extendedPost(SpongeModEventManager.java:435) [SpongeModEventManager.class:1.12.2-2705-7.1.0-BETA-3361]
at net.minecraft.server.management.PlayerInteractionManager.func_187251_a(PlayerInteractionManager.java:1189) [or.class:?]
at net.minecraft.network.NetHandlerPlayServer.redirect$onProcessRightClickBlock$zin000(NetHandlerPlayServer.java:2410) [pa.class:?]
at net.minecraft.network.NetHandlerPlayServer.func_184337_a(NetHandlerPlayServer.java:739) [pa.class:?]
at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.func_148833_a(SourceFile:55) [ma.class:?]
at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.func_148833_a(SourceFile:11) [ma.class:?]
at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:92) [PacketUtil.class:1.12.2-2705-7.1.0-BETA-3361]
at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$zle000(SourceFile:539) [hv$1.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) [hv$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_171]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_171]
at net.minecraft.util.Util.func_181617_a(SourceFile:46) [h.class:?]
at org.spongepowered.common.SpongeImplHooks.onUtilRunTask(SpongeImplHooks.java:293) [SpongeImplHooks.class:1.12.2-2705-7.1.0-BETA-3361]
at net.minecraft.server.MinecraftServer.redirect$onRun$zjj000(MinecraftServer.java:3963) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:723) [MinecraftServer.class:?]
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:396) [nz.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_171]`
Sponge version:7.1.0-BETA-3164
Forge version:14.23.4.2705
Basically, if there is a limit on how many locks you can have for a certain block, and you have that ammount locked, it does not let you place them. This was specifically found with chests.
I can open the private locked doors to let people in but then they can't leave
Hey! It would be great if you would be able to add an auto-locking feature when the users place the items such as chests,furnaces etc.
So uh, not really sure if this counts as an issue, but Playernames can contain more characters than what will fit on one line of a sign, thus, making them unable to access any containers they have locked.
Hey Latch Team!
I have been experimenting with your plugin, and the donation chests do not work. Do you have any reason why this command could be messing up?
Thanks!
Hello, I have an issue when trying to place locks: https://pastebin.com/GHBD1d1m
it causes no crash, just the lock isn´t placed
I´m on Version 1.12.2 with spongeforge (build 2705) and forge build 2509
The public locks don't seem to follow the same rules as private locks when it comes to the new redstone protection whitelist feature. I tried to use a public pressure plate to open a public fence gate, and the gate opened once but wouldn't close after stepping off the place. After that it wouldn't trigger at all.
Latch-0.3.1
spongeforge-1.10.2-2202-5.1.0-BETA-2093
Read title
01.08 13:12:59 [Multicraft] Server stopped 01.08 13:12:59 [Multicraft] Server shut down 01.08 13:12:59 [Server] INFO at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_72] 01.08 13:12:59 [Server] INFO at org.spongepowered.mod.plugin.SpongeModPluginContainer.constructMod(SpongeModPluginContainer.java:296) ~[spongeforge-1.8.9-1890-4.2.0-BETA-1625.jar:1.8.9-1890-4.2.0-BETA-1625] 01.08 13:12:59 [Server] INFO at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1051) ~[spongeforge-1.8.9-1890-4.2.0-BETA-1625.jar:1.8.9-1890-4.2.0-BETA-1625] 01.08 13:12:59 [Server] INFO at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1025) ~[spongeforge-1.8.9-1890-4.2.0-BETA-1625.jar:1.8.9-1890-4.2.0-BETA-1625] 01.08 13:12:59 [Server] INFO 1 error 01.08 13:12:59 [Server] INFO while locating com.ichorcommunity.latch.Latch 01.08 13:12:59 [Server] INFO at org.spongepowered.common.guice.SpongePluginGuiceModule.configure(SpongePluginGuiceModule.java:68) 01.08 13:12:59 [Server] INFO at com.ichorcommunity.latch.Latch.<init>(Latch.java:81) 01.08 13:12:59 [Server] INFO 1) Error injecting constructor, java.util.NoSuchElementException: No value present 01.08 13:12:59 [Server] INFO com.google.inject.ProvisionException: Unable to provision, see the following errors: 01.08 13:12:59 [Server] Server thread/ERROR [FML]: Caught exception from latch 01.08 13:12:59 [Server] Server thread/ERROR [FML]: The following problems were captured during this phase
Hello Monsieur Meronat!
I have my bug report for you. Latch seems to be providing a couple of error during the server loading process. I don't mean to bother you, I would just be happy if you get to it when you have some spare time. ^^
Full Server Log - https://pastebin.com/BPMCPKTy
Stack Trace - https://pastebin.com/F8YasxZd
Just to note, I run this on custom modpack server with a number of mods, so I'm not sure if the problem is relevant to that or not. Either way, thank you for your time!
Hey there ;]
Newest version did not fixed the problem completly.
Sometimes items get droped from the chest when destroy, but NOT ALL items and sometimes nothing drops.
Using spongeforge-1.11.2-2226-6.0.0-BETA-2110, the newest one.
Greetz,
Hannes from Germany
It's super ugly right now. Let's try to find a better design for it and include the new last accessed information.
Any suggestions?
With minecart with hopper i can easly withdraw items from locked chest. Plugin with lastest version ofc
I would like ContainerShop to be able to use Latch's protection instead of its own as it is better.
I don't actually see why this is happening?
Title says it all, the chest was locked and broken, and all items dissapeared
https://pastebin.com/TgvmEW3Q
i can't start my server
I am on an alternate account trying to unlock this password door, but the door never opens. SV 289 on the SCS.
Incorrect passwords still operate normally, meaning I still have to enter the correct password in order for the bug to happen. But when I click the door it auto-shuts itself back, and then clicking again starts the lock again :(
So it's like it gives us one instance to go through the open door, but the door is never open for us because of the auto-shut. I have tried walking through while it's in action, but it shuts faster than movement happens normally in MC.
When a latch is set to unlock always, it seems it does not bypass the lock mechanism.
https://i.imgur.com/0olt6yT.png
https://i.imgur.com/MGQt37x.png
https://i.imgur.com/hMe0v5Z.png
Password once seems to work.
Using version 0.50 lock-fix with latest sponge-forge build.
This can be useful for things such as purge exemptions, gravity on entities, protection from hoppers, and much more.
hello
Can the admin see what there are in a chest locked by a player ?
because I am /op but I have the sentence You cannot access this lock
thanks to add that admin with permission can open locked chest
thanks ;)
have a nice day
Ok, so a user on my server recently let me know that they kept getting kicked out of the GUI of all furnaces every time they tried to place an item in to smelt. The furnace worked fine, but they got kicked out immediately after placing or removing items. I had them /latch delete on it and the furnace went back to normal functionality and not closing on every interaction.
I imagine this would be very handy to have a chest only members in a town and guild can open etc. Lots of configuration should be around this. Most likely better to expose an API as blood doesn't mind supporting it from GP.
Make this configurable as well
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.