Coder Social home page Coder Social logo

tap's Introduction

Tap

Kotlin Kotlin Gradle Maven Central GitHub Kotlin

Paper 확장 라이브러리

컨텐츠 제작에 자주 사용하는 기능을 제공합니다.


  • Features

    • 개체 패킷
    • 가상 개체
    • 가상 발사체
    • 개체별 이벤트 리스너
    • YamlConfiguration을 이용한 문자열 템플릿
    • 추가적인 인벤토리 함수
    • GitHub를 통한 업데이트
    • Tick 기반 태스크 스케쥴러 (Ticker)
    • PersistentData API 접근성 개선
  • Supported minecraft versions

    • 1.18
    • 1.18.1
    • 1.18.2
    • 1.19
    • 1.19.1
    • 1.19.2
    • 1.19.3
    • 1.19.4
    • 1.20
    • 1.20.1

Gradle tap-api

repositories {
    mavenCentral()
}
dependencies {
    implementation("io.github.monun:tap-api:<version>")
}

plugin.yml tap-core

name: ...
version: ...
main: ...
libraries:
  - io.github.monun:tap-core:<version>

!!주의!!

  • Gradleplugin.yml의 의존성 패키지가 다르므로 주의해주세요.
  • 모든 코드는 ShadowJar를 고려하여 작성되지 않았습니다.

NOTE

  • 라이센스는 GPL-3.0이며 변경 혹은 삭제를 금합니다.

Contributors

  • patrick-choe
    • java 소스 코드 제거 (java -> kotlin)
    • mojang-mapping 빌드환경 구축
    • mavenCentral 배포
    • ProtocolLib 의존성 제거 (nms packet 직접 지원)
  • dolphin2410
    • FakeFallingBlock 버그 수정
    • Version identifier 추가
    • 일부 코드 향상
    • FakeEntity에 Player 지원

Jetbrains

tap's People

Contributors

dolphin2410 avatar dytroc avatar highright1234 avatar monun avatar noonmaru avatar octomarine avatar patrick-choe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tap's Issues

빌드 오류

Task :tap-api:signDokkaJar FAILED

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':tap-api:signDokkaJar'.

Cannot perform signing task ':tap-api:signDokkaJar' because it has no configured signatory

이렇게 뜨는데 어떻게 해야 하나요?

Config api 질문

ConfigSupport.compute(target: Any, config: ConfigurationSection, separateByClass: Boolean = false)
이 함수에서 separateByClass 변수가 있는데 기능상
yaml에서 기본 class와 super-class들을 값마다 config-section이 나눠지게 돼 있는데

        val configurables = target.javaClass.getConfigurables() 

        for ((clazz, list) in configurables) {
            val sectionPath = if (separateByClass) clazz.configKey else "" // <-
            var section = if (sectionPath.isNotBlank()) config.getConfigurationSection(sectionPath) else config

혹시 이부분은 실수인것인가유? 실수가 아니라면 어떤 의도로 인해 열어둔것인가유?

documentation 관련 문의

이 라이브러리에 documentation 같은 건 없나요?
만약에 있다면 어디에 있는지 애기해주는 걸 부탁드리고 없다면 docs 제작 의향이 있는지 애기 부탁드립니다.

Tap.jar 파일 1.17 용 배포 계획 없으신가요?

Could not find io.papermc.paper:paper:1.17-R0.1-SNAPSHOT.
Searched in the following locations:

Possible solution:

``

3번째 IntelliJ 재설치 중인거 같은데
./gradlew setupDependencies
./gradlew setupWorkspace
진행해도 저 에러에서 벗어날 수 없습니다.

psychics 플러그인이 1.17에서 tap 문제로 가동이 안되고,
해당 monun/psychics 은 1.16.5에서 문제가 생기더라구요

tap.jar 1.17용이 필요할거같은데 해당 파일 배포 계획은 없으신가요?

tap plugin 로드 오류 문제

System Info: Java 16 (OpenJDK 64-Bit Server VM 16.0.2+7-67) Host: Windows 10 10.0 (amd64)
Loading libraries, please wait...
[08:55:32 INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[08:55:32 INFO]: Reloading ResourceManager: Default, bukkit
[08:55:33 INFO]: Loaded 7 recipes
[08:55:34 INFO]: Starting minecraft server version 1.17.1
[08:55:34 INFO]: Loading properties
[08:55:34 INFO]: This server is running Paper version git-Paper-336 (MC: 1.17.1) (Implementing API version 1.17.1-R0.1-SNAPSHOT) (Git: eaee7a2)
[08:55:34 INFO]: Server Ping Player Sample Count: 12
[08:55:34 INFO]: Using 4 threads for Netty based IO
[08:55:34 INFO]: Default game type: SURVIVAL
[08:55:34 INFO]: Generating keypair
[08:55:34 INFO]: Starting Minecraft server on *:25565
[08:55:34 INFO]: Using default channel type
[08:55:34 INFO]: Paper: Using Java 11 compression from Velocity.
[08:55:34 INFO]: Paper: Using Java cipher from Velocity.
[08:55:34 ERROR]: Could not load 'plugins\tap-4.1.9.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:178) ~[patched_1.17.1.jar:git-Paper-336]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:158) ~[patched_1.17.1.jar:git-Paper-336]
at org.bukkit.craftbukkit.v1_17_R1.CraftServer.loadPlugins(CraftServer.java:419) ~[patched_1.17.1.jar:git-Paper-336]
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:287) ~[patched_1.17.1.jar:git-Paper-336]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1217) ~[patched_1.17.1.jar:git-Paper-336]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[patched_1.17.1.jar:git-Paper-336]
at java.lang.Thread.run(Thread.java:831) ~[?:?]
Caused by: java.io.FileNotFoundException: Jar does not contain plugin.yml
... 7 more

[08:55:34 INFO]: Server permissions file permissions.yml is empty, ignoring it
[08:55:34 INFO]: Preparing level "world"
[08:55:35 INFO]: Preparing start region for dimension minecraft:overworld
[08:55:35 INFO]: Time elapsed: 122 ms
[08:55:35 INFO]: Preparing start region for dimension minecraft:the_nether
[08:55:35 INFO]: Time elapsed: 45 ms
[08:55:35 INFO]: Preparing start region for dimension minecraft:the_end
[08:55:35 INFO]: Time elapsed: 86 ms
[08:55:35 INFO]: Running delayed init tasks
[08:55:35 INFO]: Done (0.934s)! For help, type "help"
[08:55:35 INFO]: Timings Reset

아무래도 tap.jar plugin내에 plugin.yml이 없어서 생기는 오류 같은데 이거 어떻게해야하나요?

라이선스 관련

조금 주제에 벗어난 이슈이긴 합니다,

하지만 중요하기 때문에 올려봅니다.

정확히 Gradle에 컴파일 할 떄 GPL-3.0에 기준이 어떻게 되나요?

소스을 공개적으로 배포해야 하나요?

빌드 오류

Task :api:compileKotlin FAILED
e: java.lang.NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.com.intellij.pom.java.LanguageLevel
at org.jetbrains.kotlin.com.intellij.core.CoreLanguageLevelProjectExtension.(CoreLanguageLevelProjectExtension.java:26)
at org.jetbrains.kotlin.com.intellij.core.JavaCoreProjectEnvironment.(JavaCoreProjectEnvironment.java:42)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreProjectEnvironment.(KotlinCoreProjectEnvironment.kt:26)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$ProjectEnvironment.(KotlinCoreEnvironment.kt:118)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.createForProduction(KotlinCoreEnvironment.kt:420)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.createCoreEnvironment(K2JVMCompiler.kt:226)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:152)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:52)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:88)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:44)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:98)
at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:371)
at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:105)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileIncrementally(IncrementalCompilerRunner.kt:249)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.access$compileIncrementally(IncrementalCompilerRunner.kt:38)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner$compile$2.invoke(IncrementalCompilerRunner.kt:80)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:92)
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:602)
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:93)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1644)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:691)
at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:587)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:705)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at java.base/java.lang.Thread.run(Thread.java:831)

gradlew clean jar를 치면 이렇게 나오는데 어떻게 해야 하나요?

Display 계열 FakeEntity가 표시되지 않음

ㅈㄱㄴ

현재 TextDisplay 동작 안되는거 확인되었음
다른 디스플레이 계열 확인예정, world#spawn()을 이용해서는 가능

Display 쪽은 잘 알려진게 없어서 제가 틀릴수도있어요

paper invalid head

./gradlew setupWorkspace시, cannot parse object <1.17.1 HEAD>라고 뜹니다.
git reset --hard <HEAD>를 실행할 때 나오는 문제 같습니다. git clone 커맨드로 가져왔습니다.
stacktrace

PS C:\Users\******\Documents\tap> ./gradlew setupWorkspace
Starting a Gradle Daemon, 2 busy and 15 incompatible and 3 stopped Daemons could not be reused, use --status for details

> Task :downloadBuildTools
Download https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar

> Task :paper-1.17.1 FAILED
Fetching origin
Your branch is up to date with 'origin/master'.
Already on 'master'
fatal: Could not parse object '370b60de14ddefc0918ca5f7bd9d5c51ce309729'.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':paper-1.17.1'.
> Process 'command 'git'' finished with non-zero exit value 128

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 36s

Passenger 상태의 머리 방향 조정

최근에 Passenger 상태의 FakeEntity를 처리하는 도중에 생긴 문제였습니다
Passenger 상태에서 바라보는 direction을 바꾸려 하였지만

setLocation
removePassenger후 setLocation, addPassenger
moveTo

세가지 모두 작동되지 않아 여러가지 방법을 찾아보며
결국 PacketSupport의 entityTeleport로 변경하였습니다
다른 방법으로 변경은 결국 안되는것같아 포기하였지만 바꾸는 다른 방법이 있는가유?
아니면 일종의 버그인가유?

MojangAPI.fetchSkinProfile(uuid)!!.profileProperties() 에러!!

[17:56:22 ERROR]: Could not pass event PlayerInteractEvent to ServerManagement v1.0-SNAPSHOT
java.util.concurrent.ExecutionException: kotlinx.serialization.json.internal.JsonDecodingException: Unexpected JSON token at offset 1262: Encountered an unknown key 'profileActions' at path: $.properties
Use 'ignoreUnknownKeys = true' in 'Json {}' builder to ignore unknown keys.
JSON input: .....30+71awLoJj7xozFw="
} ],
"profileActions" : { }
}
at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) ~[?:?]
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073) ~[?:?]
at com.github.cozy06.Main.onPlayerInteract(Main.kt:91) ~[ServerManagement-1.0-SNAPSHOT.jar:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor2.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:81) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:git-Paper-96]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[paper-1.20.1.jar:git-Paper-96]
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126) ~[paper-1.20.1.jar:git-Paper-96]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?]
at org.bukkit.craftbukkit.v1_20_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:566) ~[paper-1.20.1.jar:git-Paper-96]
at org.bukkit.craftbukkit.v1_20_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:523) ~[paper-1.20.1.jar:git-Paper-96]
at org.bukkit.craftbukkit.v1_20_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:517) ~[paper-1.20.1.jar:git-Paper-96]
at org.bukkit.craftbukkit.v1_20_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:513) ~[paper-1.20.1.jar:git-Paper-96]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleAnimate(ServerGamePacketListenerImpl.java:2619) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundSwingPacket.handle(ServerboundSwingPacket.java:25) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundSwingPacket.a(ServerboundSwingPacket.java:11) ~[?:?]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:51) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.1.jar:git-Paper-96]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1339) ~[paper-1.20.1.jar:git-Paper-96]
at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197) ~[paper-1.20.1.jar:git-Paper-96]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1316) ~[paper-1.20.1.jar:git-Paper-96]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1309) ~[paper-1.20.1.jar:git-Paper-96]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1287) ~[paper-1.20.1.jar:git-Paper-96]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1175) ~[paper-1.20.1.jar:git-Paper-96]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:318) ~[paper-1.20.1.jar:git-Paper-96]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: kotlinx.serialization.json.internal.JsonDecodingException: Unexpected JSON token at offset 1262: Encountered an unknown key 'profileActions' at path: $.properties
Use 'ignoreUnknownKeys = true' in 'Json {}' builder to ignore unknown keys.
JSON input: .....30+71awLoJj7xozFw="
} ],
"profileActions" : { }
}
at kotlinx.serialization.json.internal.JsonExceptionsKt.JsonDecodingException(JsonExceptions.kt:24) ~[?:?]
at kotlinx.serialization.json.internal.JsonExceptionsKt.JsonDecodingException(JsonExceptions.kt:32) ~[?:?]
at kotlinx.serialization.json.internal.AbstractJsonLexer.fail(AbstractJsonLexer.kt:530) ~[?:?]
at kotlinx.serialization.json.internal.AbstractJsonLexer.failOnUnknownKey(AbstractJsonLexer.kt:525) ~[?:?]
at kotlinx.serialization.json.internal.StreamingJsonDecoder.handleUnknown(StreamingJsonDecoder.kt:251) ~[?:?]
at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeObjectIndex(StreamingJsonDecoder.kt:237) ~[?:?]
at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeElementIndex(StreamingJsonDecoder.kt:172) ~[?:?]
at io.github.monun.tap.mojangapi.MojangAPI$SkinProfile$$serializer.deserialize(MojangAPI.kt:64) ~[?:?]
at io.github.monun.tap.mojangapi.MojangAPI$SkinProfile$$serializer.deserialize(MojangAPI.kt:64) ~[?:?]
at kotlinx.serialization.json.internal.StreamingJsonDecoder.decodeSerializableValue(StreamingJsonDecoder.kt:70) ~[?:?]
at kotlinx.serialization.json.Json.decodeFromString(Json.kt:95) ~[?:?]
at io.github.monun.tap.mojangapi.MojangAPI$fetchSkinProfileAsync$$inlined$fetchAsync$1.invoke(MojangAPI.kt:121) ~[?:?]
at io.github.monun.tap.mojangapi.MojangAPI$fetchSkinProfileAsync$$inlined$fetchAsync$1.invoke(MojangAPI.kt:53) ~[?:?]
at io.github.monun.tap.mojangapi.MojangAPI$sam$java_util_function_Function$0.apply(MojangAPI.kt) ~[?:?]
at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646) ~[?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[?:?]
at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614) ~[?:?]
at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:844) ~[?:?]
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) ~[?:?]

라는 에러가 뜨네요.....ㅠㅠ

LibraryLoader

LibraryLoader cannot load NMS or implement class which's constructor has more than zero parameters

LibraryLoader.kt (line:37,80) could be like:

constructor.newInstance(*initArgs) as T

지원 버전 표기

README.md에 있는 지원 버전에 1.20이 지원되었지만 1.20이 반영되지 않았습니다.
직접 풀리퀘로 보내기에는 너무 사소한 문제라 이슈 남깁니다.

lateinit property equipmentData has not been initialized

FakeEntity#updateEquippment
FakeEntity에게 적용하려고 하니 오류 발생
코드 필요하시면 말씀해주세요

[12:58:50] [Server thread/ERROR]: Uncaught exception in server thread
kotlin.UninitializedPropertyAccessException: lateinit property equipmentData has not been initialized
        at io.github.monun.tap.fake.internal.FakeEntityImpl.update$tap_core(FakeEntityImpl.kt:276) ~[?:?]
        at io.github.monun.tap.fake.internal.FakeEntityServerImpl.updateEntities(FakeEntityServerImpl.kt:172) ~[?:?]
        at io.github.monun.tap.fake.internal.FakeEntityServerImpl.update(FakeEntityServerImpl.kt:147) ~[?:?]
        at com.baehyeonwoo.notakomq.plugin.NotAKomqPluginMain$onEnable$2.invokeSuspend(NotAKomqPluginMain.kt:40) ~[NotAKomq.jar:?]
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[?:?]
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) ~[?:?]
        at org.bukkit.craftbukkit.v1_19_R1.scheduler.CraftTask.run(CraftTask.java:101) ~[paper-1.19.2.jar:git-Paper-271]
        at org.bukkit.craftbukkit.v1_19_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:483) ~[paper-1.19.2.jar:git-Paper-271]
        at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1473) ~[paper-1.19.2.jar:git-Paper-271]
        at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:446) ~[paper-1.19.2.jar:git-Paper-271]
        at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1397) ~[paper-1.19.2.jar:git-Paper-271]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1173) ~[paper-1.19.2.jar:git-Paper-271]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:305) ~[paper-1.19.2.jar:git-Paper-271]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]

라이선스(?) 관련 문제

저작권 문제로 묻게 되었습니다
제가 마인크래프트 라이브러리를 만드려 계획중인데 LibraryLoader.kt만 소스를 사용하려 합니다만 그런 경우에 해당 라이브러리 프로젝트를 GPL-3.0가 필수인가요?

제가 GPL 라이선스를 잘 몰라서 확인하고자 합니다.

Metadata 지원에 대한 의문

metadata를 사용할 때, 엔티티나 블록에게 메터데이터를 추가하고서 해당 메타데이터를 지워도 맵은 남아 있어 메모리 누수 문제가 있는 걸로 압니다.

거기다가 해당 메타데이터를 사용하는 엔티티가 사망할 경우, 맵이 남아있는 문제 때문에 웬만해서는 쓰지 않는 걸로 알고 있습니다.

이러한 메모리 누수 문제들 때문에 Paper 공식 디스코드 서버 측에서도 메타데이터 대신에 PDC를 쓰도록 장려하는데, 굳이 지원할 필요가 있는지 의문이 듭니다.

tap ./gradlew setupWorkspace 작업중 오류

저는 tap을 다운받고 개발환경을 구축하기 위해 ./gradlew setupWorkspace로 작업하던 도중에 에러가 떴습니다 왜 이런걸까요?

Configure project :
e: C:\Users\1023a\Downloads\tap-master\build.gradle.kts:180:55: Unresolved reference: nullOutputStream
e: C:\Users\1023a\Downloads\tap-master\build.gradle.kts:181:52: Unresolved reference: nullOutputStream

FAILURE: Build failed with an exception.

  • Where:
    Build file 'C:\Users\1023a\Downloads\tap-master\build.gradle.kts' line: 180

  • What went wrong:
    Script compilation errors:

    Line 180: standardOutput = OutputStream.nullOutputStream()
    ^ Unresolved reference: nullOutputStream

    Line 181: errorOutput = OutputStream.nullOutputStream()
    ^ Unresolved reference: nullOutputStream

2 errors

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.