diff --git a/README.md b/README.md
index f43ab629..dceaf5a4 100644
--- a/README.md
+++ b/README.md
@@ -1,52 +1,33 @@
# Arclight
-A Bukkit server implementation utilizing Mixin.
+A Bukkit server implementation on common mod loaders.
![Downloads](https://img.shields.io/github/downloads/IzzelAliz/Arclight/total?style=flat-square) ![GitHub](https://img.shields.io/github/license/IzzelAliz/Arclight?style=flat-square)
-| Release | Forge | Status | Build |
-|:--------------------:|:-------:|:------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
-| Trials (1.20-1.20.1) | 47.2.0 | ACTIVE | [![1.19.4 Status](https://img.shields.io/github/actions/workflow/status/IzzelAliz/Arclight/gradle.yml?branch=Trials&style=flat-square)](https://github.com/IzzelAliz/Arclight/actions?query=branch%3ATrials) |
-| Executions (1.19.4) | 45.1.0 | LTS | [![1.19.4 Status](https://img.shields.io/github/actions/workflow/status/IzzelAliz/Arclight/gradle.yml?branch=Executions&style=flat-square)](https://github.com/IzzelAliz/Arclight/actions?query=branch%3AExecutions) |
-| 1.18.x | 40.1.80 | LTS | [![1.18 Status](https://img.shields.io/github/actions/workflow/status/IzzelAliz/Arclight/gradle.yml?branch=1.18&style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-18) |
-| 1.16.x | 36.2.39 | LTS | [![1.16 Status](https://img.shields.io/github/actions/workflow/status/IzzelAliz/Arclight/gradle.yml?branch=1.16&style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-16) |
-
-**Legacy versions**:
-
-
-
-| Release | Forge | Status | Build |
-|:-------:|:-------:|:----------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------:|
-| Great Horn (1.19.3) | 44.1.22 | [LEGACY](https://github.com/IzzelAliz/Arclight/releases/tag/GreatHorn/1.0.3) | [![1.19 Status](https://img.shields.io/github/actions/workflow/status/IzzelAliz/Arclight/gradle.yml?branch=GreatHorn&style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-19) |
-| Horn (1.19-1.19.2) | 43.2.11 | [LEGACY](https://github.com/IzzelAliz/Arclight/releases/tag/horn/1.0.2) | [![Horn Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight-19?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-19) |
-| 1.17.x | 37.1.0 | [LEGACY](https://github.com/IzzelAliz/Arclight/releases/tag/1.17/1.0.2) | [![1.17 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight-17?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-17) |
-| 1.15.x | 31.2.48 | [LEGACY](https://github.com/IzzelAliz/Arclight/releases/tag/1.15/1.0.19) | [![1.15 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight-15?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-15) |
-| 1.14.x | 28.2.0 | [LEGACY](https://github.com/IzzelAliz/Arclight/releases/tag/1.0.6) | [![1.14 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight) |
-
-* Legacy version still accepts pull requests.
-
-
-
![](.github/arclightlogo.jpg)
-## Installing
+## Download
+Versions list and support status: [Discussions thread](https://wiki.izzel.io/s/arclight-docs/doc/versions-and-its-supporting-status-NCKYxXI3mt)
-* Download the jar from [release page](https://github.com/IzzelAliz/Arclight/releases) or build server. (see the table
- above)
-* Launch with command `java -jar arclight-forge--.jar nogui`. The `nogui` argument will disable the server
- control panel.
+- [Stable releases](https://github.com/IzzelAliz/Arclight/releases)
+- [Nightly build (GitHub login required)](https://github.com/IzzelAliz/Arclight/actions/workflows/gradle.yml?query=branch%3ATrials)
-## Support
+## Installing
-Read [FAQ](https://github.com/IzzelAliz/Arclight/wiki/FAQ) before reporting issue.
+* Download the jar.
+* Launch with command `java -jar arclight.jar nogui`.
+ * The `nogui` argument will disable the server control panel.
-Discord server https://discord.gg/ZvTY5SC
+Read our document for more information.
-QQ Group chat 3556966
+## Support
-## Contributing
+Read the [document](https://wiki.izzel.io/s/arclight-docs).
+Something is not working? Report any problems [here](https://github.com/IzzelAliz/Arclight/issues/new/choose)!.
+Questions and discussions [here](https://github.com/IzzelAliz/Arclight/discussions).
-Please read this [wiki section](https://github.com/IzzelAliz/Arclight/wiki/Contributing).
+Discord Server: https://discord.gg/ZvTY5SC
+QQ Group Chat: 3556966
## License
@@ -54,6 +35,10 @@ This project is licensed under [GPL v3](LICENSE).
## Sponsor
+[![](.github/bisecthosting.webp)](https://bisecthosting.com/arclight)
+
+Get 25% off hosting server with promocode **arclight** at [BisectHosting](https://bisecthosting.com/arclight).
+
[![](https://www.yourkit.com/images/yklogo.png)](https://www.yourkit.com)
YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET
diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/ExplosionMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/ExplosionMixin.java
index a6166e44..eb711f75 100644
--- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/ExplosionMixin.java
+++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/ExplosionMixin.java
@@ -7,6 +7,7 @@
import io.izzel.arclight.common.bridge.core.world.ExplosionBridge;
import io.izzel.arclight.common.bridge.core.world.WorldBridge;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
+import it.unimi.dsi.fastutil.objects.ObjectListIterator;
import net.minecraft.Util;
import net.minecraft.core.BlockPos;
import net.minecraft.core.particles.ParticleTypes;
@@ -259,6 +260,7 @@ public void finalizeExplosion(boolean spawnParticles) {
ObjectArrayList> objectarraylist = new ObjectArrayList<>();
boolean flag2 = this.getIndirectSourceEntity() instanceof Player;
Util.shuffle(this.toBlow, this.level.random);
+ var iterator = this.toBlow.iterator();
float yield = this.callBlockExplodeEvent();
@@ -267,7 +269,8 @@ public void finalizeExplosion(boolean spawnParticles) {
return;
}
- for (BlockPos blockpos : this.toBlow) {
+ while (iterator.hasNext()) {
+ BlockPos blockpos = iterator.next();
BlockState blockstate = this.level.getBlockState(blockpos);
Block block = blockstate.getBlock();
// CraftBukkit start - TNTPrimeEvent