From 3322302ee5b55990f4ab098d8c7b3a709e7dad0f Mon Sep 17 00:00:00 2001 From: QwQ-dev Date: Sun, 22 Dec 2024 14:05:54 +0800 Subject: [PATCH 1/2] docs: it is our honor to be able to display here. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ceedd63b..4cc85b6a 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ To achieve this it's nearly impossible for a single person or a small team, that - RaytraceAntiXray - [SpigotMC](https://www.spigotmc.org/resources/raytraceantixray-ores-entities-tiles.116253/), [BuiltByBit](https://builtbybit.com/resources/raytraceantixray-ores-entities-tiles.41896/) - CraftGens - [BuiltByBit](https://builtbybit.com/resources/craftgens-generators-gui-editor.30062/) - Brew - [GitHub](https://github.com/FairyProject/brew) +- legacy-lands-library - [GitHub](https://github.com/LegacyLands/legacy-lands-library) - *Feel free to open a PR to add your project to here!* ## Getting Started From 51c13b4557ee5acc01e8d8fcf38d891578fa9398 Mon Sep 17 00:00:00 2001 From: QwQ-dev Date: Sun, 22 Dec 2024 14:38:21 +0800 Subject: [PATCH 2/2] fix: https://github.com/FairyProject/fairy/issues/176. --- .../container/node/loader/ContainerNodeLoader.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/framework/platforms/core-platform/src/main/java/io/fairyproject/container/node/loader/ContainerNodeLoader.java b/framework/platforms/core-platform/src/main/java/io/fairyproject/container/node/loader/ContainerNodeLoader.java index 16e1ffa2..7489f86f 100644 --- a/framework/platforms/core-platform/src/main/java/io/fairyproject/container/node/loader/ContainerNodeLoader.java +++ b/framework/platforms/core-platform/src/main/java/io/fairyproject/container/node/loader/ContainerNodeLoader.java @@ -45,6 +45,7 @@ import org.jetbrains.annotations.NotNull; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionStage; @@ -122,7 +123,11 @@ private CompletableFuture findPrototypeInstance(Class type) { private CompletableFuture callPreInitProcessors() { List> futures = new ArrayList<>(); - for (InstanceEntry entry : this.collection) { + // fix ConcurrentModificationException + List snapshot = new ArrayList<>(); + this.collection.forEach(snapshot::add); + + for (InstanceEntry entry : snapshot) { Object instance = entry.getInstance(); ContainerObj object = entry.getContainerObject(); if (!this.trySetLifeCycle(object, LifeCycle.PRE_INIT))