Coder Social home page Coder Social logo

onelitefeathernet / antiredstoneclock-remastered Goto Github PK

View Code? Open in Web Editor NEW
11.0 2.0 6.0 580 KB

A simple plugin to prevent and detect redstone clocks

Home Page: https://discord.onelitefeather.net

License: GNU Affero General Public License v3.0

Java 98.37% Kotlin 1.63%
plotsquared plugin redstone spigotmc minecraft-plugin minecraft-plugin-development papermc antiredstone hacktoberfest worldguard

antiredstoneclock-remastered's People

Contributors

onelitefeather avatar renovate[bot] avatar themeinerlp avatar whiler-sesame avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

antiredstoneclock-remastered's Issues

Plugin doesn't seem to work

Using the latest version of Paper 1.20.6 with latest version of Plotsquared 7.3.8-Premium and latest version of AntiRedstoneClock-Remastered loaded from modrinth plugin doesn't seem to work at all. Even with redstone-clock flag disabled on plot, they're not even counted in /arcm display. Only one error in console: https://pastebin.com/9N1z2nsG
image
image

Possible exploit technique needs to be considered

Description

As in https://gitlab.com/Trafalcraft/antiRedstoneClock/-/issues/23 it is mentioned that a "redstone-wire network" can be abused in combination of anti redstone plugin solutions to create lag and possible server crash.

How it is working

At the moment, the logic of ARC-R is similar to this project. Every redstone source that can send and receive redstone signals is considered to be a redstone clock.

Suggestion

Possible pathfinding or search algorithm to minimise object creation, also not dropping everything (that could be abused further) if the redstone clock is too huge. Chunk-wise redstone clock detection (or even with regions like in Folia) was my first thought.

Adventure implementation breaks on 1.20.2 because of 1.20.4

Expected behaviour:
The commands are executed on 1.20.2 Paper as well because it is backwards supported.

Actual behaviour:
When an user uses the commands on 1.20.2 Paper, the following error is going to happen and it can't execute the commands

Caused by: java.lang.NoSuchMethodError: 'java.util.List net.kyori.adventure.text.TranslatableComponent.arguments()'
	at net.onelitefeather.antiredstoneclockremastered.translations.PluginTranslationRegistry.translate(PluginTranslationRegistry.java:60) ~[AntiRedstoneClock-Remastered-1.0.1-all.jar:?]
	at net.kyori.adventure.translation.GlobalTranslatorImpl.translate(GlobalTranslatorImpl.java:90) ~[adventure-api-4.14.0.jar:?]
	at net.kyori.adventure.text.renderer.TranslatableComponentRenderer$1.renderTranslatable(TranslatableComponentRenderer.java:82) ~[adventure-api-4.14.0.jar:?]
	at net.kyori.adventure.text.renderer.TranslatableComponentRenderer$1.renderTranslatable(TranslatableComponentRenderer.java:74) ~[adventure-api-4.14.0.jar:?]
	at net.kyori.adventure.text.renderer.AbstractComponentRenderer.render(AbstractComponentRenderer.java:50) ~[adventure-api-4.14.0.jar:?]
	at net.kyori.adventure.text.event.HoverEvent$Action$1.render(HoverEvent.java:814) ~[adventure-api-4.14.0.jar:?]
	at net.kyori.adventure.text.event.HoverEvent$Action$1.render(HoverEvent.java:811) ~[adventure-api-4.14.0.jar:?]
	at net.kyori.adventure.text.event.HoverEvent.withRenderedValue(HoverEvent.java:289) ~[adventure-api-4.14.0.jar:?]
	at net.kyori.adventure.text.renderer.TranslatableComponentRenderer.mergeStyle(TranslatableComponentRenderer.java:238) ~[adventure-api-4.14.0.jar:?]
	at net.kyori.adventure.text.renderer.TranslatableComponentRenderer.mergeStyleAndOptionallyDeepRender(TranslatableComponentRenderer.java:222) ~[adventure-api-4.14.0.jar:?]
	at net.kyori.adventure.text.renderer.TranslatableComponentRenderer.renderText(TranslatableComponentRenderer.java:169) ~[adventure-api-4.14.0.jar:?]
	at net.kyori.adventure.text.renderer.AbstractComponentRenderer.render(AbstractComponentRenderer.java:48) ~[adventure-api-4.14.0.jar:?]
	at net.kyori.adventure.text.renderer.TranslatableComponentRenderer.lambda$optionallyRenderChildrenAppendAndBuild$0(TranslatableComponentRenderer.java:228) ~[adventure-api-4.14.0.jar:?]
	at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
	at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1092) ~[?:?]
	at net.kyori.adventure.text.renderer.TranslatableComponentRenderer.optionallyRenderChildrenAppendAndBuild(TranslatableComponentRenderer.java:228) ~[adventure-api-4.14.0.jar:?]
	at net.kyori.adventure.text.renderer.TranslatableComponentRenderer.mergeStyleAndOptionallyDeepRender(TranslatableComponentRenderer.java:223) ~[adventure-api-4.14.0.jar:?]
	at net.kyori.adventure.text.renderer.TranslatableComponentRenderer.renderText(TranslatableComponentRenderer.java:169) ~[adventure-api-4.14.0.jar:?]
	at net.kyori.adventure.text.renderer.AbstractComponentRenderer.render(AbstractComponentRenderer.java:48) ~[adventure-api-4.14.0.jar:?]
	at net.kyori.adventure.translation.GlobalTranslator.render(GlobalTranslator.java:87) ~[adventure-api-4.14.0.jar:?]
	at io.papermc.paper.adventure.PaperAdventure.translated(PaperAdventure.java:207) ~[paper-1.20.2.jar:git-Paper-228]
	at io.papermc.paper.adventure.PaperAdventure.asJsonString(PaperAdventure.java:192) ~[paper-1.20.2.jar:git-Paper-228]
	at net.minecraft.network.FriendlyByteBuf.writeComponent(FriendlyByteBuf.java:533) ~[?:?]
	at net.minecraft.network.protocol.game.ClientboundSystemChatPacket.write(ClientboundSystemChatPacket.java:46) ~[paper-1.20.2.jar:git-Paper-228]
	at net.minecraft.network.PacketEncoder.encode(PacketEncoder.java:42) ~[paper-1.20.2.jar:git-Paper-228]
	... 77 more


Version: AntiRedstoneClock-Remastered-1.0.1-all

Update Notification

What feature do you want to see added?

I would like to have a system that informs me if there is an update for the plugin.
Preferably when starting and joining, permissions should be taken into account.

The update check should run on Hangar

Are there any alternatives?

The users have to take care of it themselves or external plugins take care of it

Anything else?

It would also be in our interest to point out Open Collective at every start or existing update.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.


Warning

Renovate failed to look up the following dependencies: Failed to look up maven package com.github.IntellectualSites.PlotSquared:Core, Failed to look up maven package com.github.IntellectualSites.PlotSquared:Bukkit.

Files affected: settings.gradle.kts


Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

github-actions
.github/workflows/announce-release-on-discord.yml
.github/workflows/build-pr.yml
  • actions/checkout v4
  • gradle/wrapper-validation-action v3
  • actions/setup-java v4
.github/workflows/close_invalid_prs.yml
  • superbrothers/close-pull-request v3
.github/workflows/publish.yml
  • actions/checkout v4
  • gradle/wrapper-validation-action v3
  • actions/setup-java v4
.github/workflows/release-drafter.yml
  • release-drafter/release-drafter v6
gradle
settings.gradle.kts
  • com.sk89q.worldguard:worldguard-legacy 6.2
  • com.sk89q.worldguard:worldguard-bukkit 7.0.10
  • com.github.IntellectualSites.PlotSquared:Core 4.453
  • com.github.IntellectualSites.PlotSquared:Bukkit 4.453
  • com.intellectualsites.bom:bom-1.16.x 1.46
  • com.intellectualsites.bom:bom-newest 1.46
  • io.papermc.paper:paper-api 1.20.6-R0.1-SNAPSHOT
  • net.kyori:adventure-text-minimessage 4.17.0
  • org.bstats:bstats-bukkit 3.0.2
  • org.incendo:cloud-paper 2.0.0-SNAPSHOT
  • org.incendo:cloud-annotations 2.0.0-SNAPSHOT
  • org.incendo:cloud-minecraft-extras 2.0.0-SNAPSHOT
  • com.github.zafarkhaja:java-semver 0.10.2
  • de.chojo.publishdata 1.4.0
  • com.modrinth.minotaur 2.+
  • io.papermc.hangar-publish-plugin 0.1.2
  • net.minecrell.plugin-yml.paper 0.6.0
  • xyz.jpenilla.run-paper 2.3.0
  • com.github.johnrengelman.shadow 8.1.1
build.gradle.kts
  • net.kyori:adventure-text-feature-pagination 4.0.0-SNAPSHOT
PlotSquaredv6Support/build.gradle.kts
PlotSquaredv7Support/build.gradle.kts
WorldGuardv6Support/build.gradle.kts
  • com.sk89q.worldedit:worldedit-bukkit 6.0
WorldGuardv7Support/build.gradle.kts
build-logic/build.gradle.kts
build-logic/src/main/kotlin/olf.build-logic.gradle.kts
internal-api/build.gradle.kts
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.8

  • Check this box to trigger a request for Renovate to run again on this repository

Sculk Snesors don't get detected

Server Logs

not give any errors

Expected behavior

During cycles made with the sculk sensor, the sculk sensor breaks and drop

Actual behavior

During cycles made with the sculk sensor, the sculk sensor breaks but not drop

Steps to reproduce

https://youtu.be/N2zdgaNpuMY

Plugin and Datapack List

https://prnt.sc/SPR4nGKzrDQ6

not have datapack

Paper version

https://prnt.sc/Z6bwfS6Oty2t

Plugin version

https://prnt.sc/HQs7Phu9rm2U

Other

I guess sculk sensor break only with silktouch therefore not drop(forecast)

java.lang.NoClassDefFoundError

org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: net/onelitefeather/antiredstoneclockremastered/api/WorldGuardSupport
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[patched_1.12.2.jar:git-Reaper-"fff830c"]
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:327) ~[patched_1.12.2.jar:git-Reaper-"fff830c"]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:250) ~[patched_1.12.2.jar:git-Reaper-"fff830c"]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.java:318) ~[patched_1.12.2.jar:git-Reaper-"fff830c"]
at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:223) ~[patched_1.12.2.jar:git-Reaper-"fff830c"]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:638) ~[patched_1.12.2.jar:git-Reaper-"fff830c"]
at java.lang.Thread.run(Unknown Source) [?:?]
Caused by: java.lang.NoClassDefFoundError: net/onelitefeather/antiredstoneclockremastered/api/WorldGuardSupport
at java.lang.Class.forName0(Native Method) ~[?:?]
at java.lang.Class.forName(Unknown Source) ~[?:?]
at org.bukkit.plugin.java.PluginClassLoader.init(PluginClassLoader.java:78) ~[patched_1.12.2.jar:git-Reaper-"fff830c"]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:127) ~[patched_1.12.2.jar:git-Reaper-"fff830c"]
... 6 more
Caused by: java.lang.ClassNotFoundException: net.onelitefeather.antiredstoneclockremastered.api.WorldGuardSupport
at java.net.URLClassLoader.findClass(Unknown Source) ~[?:?]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:152) ~[patched_1.12.2.jar:git-Reaper-"fff830c"]```

Error using command /arcm display

hello,

im on Paper git-paper-196 1.20.1 R0.1-SNAPSHOT.

when using the command /arcm display a read error displays in chat and console reports error

[21:08:26] [ForkJoinPool.commonPool-worker-2/ERROR]: [AntiRedstoneClock-Remastered] An unhandled exception was thrown during command execution
java.lang.NoSuchMethodError: 'net.kyori.adventure.text.TranslatableComponent net.kyori.adventure.text.TranslatableComponent.arguments(net.kyori.adventure.text.ComponentLike[])'
    at net.onelitefeather.antiredstoneclockremastered.commands.DisplayActiveClocksCommand.displayClocks(DisplayActiveClocksCommand.java:26) ~[AntiRedstoneClock-Remastered-1.0.1-all.jar:?]
    at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:732) ~[?:?]
    at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:757) ~[?:?]
    at org.incendo.cloud.annotations.MethodCommandExecutionHandler.executeFuture(MethodCommandExecutionHandler.java:88) ~[AntiRedstoneClock-Remastered-1.0.1-all.jar:?]
    at org.incendo.cloud.execution.ExecutionCoordinatorImpl.lambda$coordinateExecution$4(ExecutionCoordinatorImpl.java:120) ~[AntiRedstoneClock-Remastered-1.0.1-all.jar:?]
    at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1150) ~[?:?]
    at java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483) ~[?:?]
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?]
    at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?]
    at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?]
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?]
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?]````

Permission bundles

We need permission bundles in order to sort and bundle the permissions, making it also easier to use permissions on the other hand. For example there can be a permission bundle for administrators having all permissions like arcr.admin and one for "developers" which may only need less perms, for example only reload the setting or disabling the display, like arcr.dev

That is only a suggestion, feel free to change that.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.