Revert "regression testings pt2"

This reverts commit 5a9831e94c.
This commit is contained in:
Taiyou06
2024-07-07 04:03:47 +03:00
parent c3993313b9
commit c51fcad23a

View File

@@ -14,40 +14,40 @@
// along with this program. If not, see <https://www.gnu.org/licenses/>.
package net.gensokyoreimagined.nitori.mixin.alloc.chunk_ticking;
//import net.minecraft.server.level.ChunkHolder;
//import net.minecraft.server.level.ServerChunkCache;
//import org.spongepowered.asm.mixin.Mixin;
//import org.spongepowered.asm.mixin.injection.At;
//import org.spongepowered.asm.mixin.injection.Inject;
//import org.spongepowered.asm.mixin.injection.Redirect;
//import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
//
//import java.util.ArrayList;
//import java.util.function.BooleanSupplier;
//
//@Mixin(ServerChunkCache.class)
//public class ServerChunkManagerMixin {
// private final ArrayList<ChunkHolder> cachedChunkList = new ArrayList<>();
//
// @Redirect(
// method = "tickChunks()V",
// at = @At(
// value = "INVOKE",
// target = "Lcom/google/common/collect/Lists;newArrayListWithCapacity(I)Ljava/util/ArrayList;",
// remap = false
// )
// )
// private ArrayList<ChunkHolder> redirectChunksListClone(int initialArraySize) {
// ArrayList<ChunkHolder> list = this.cachedChunkList;
// list.clear(); // Ensure the list is empty before re-using it
// list.ensureCapacity(initialArraySize);
//
// return list;
// }
//
// @Inject(method = "tick(Ljava/util/function/BooleanSupplier;Z)V", at = @At("HEAD"))
// private void preTick(BooleanSupplier shouldKeepTicking, boolean tickChunks, CallbackInfo ci) {
// // Ensure references aren't leaked through this list
// this.cachedChunkList.clear();
// }
//}
import net.minecraft.server.level.ChunkHolder;
import net.minecraft.server.level.ServerChunkCache;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.Redirect;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import java.util.ArrayList;
import java.util.function.BooleanSupplier;
@Mixin(ServerChunkCache.class)
public class ServerChunkManagerMixin {
private final ArrayList<ChunkHolder> cachedChunkList = new ArrayList<>();
@Redirect(
method = "tickChunks()V",
at = @At(
value = "INVOKE",
target = "Lcom/google/common/collect/Lists;newArrayListWithCapacity(I)Ljava/util/ArrayList;",
remap = false
)
)
private ArrayList<ChunkHolder> redirectChunksListClone(int initialArraySize) {
ArrayList<ChunkHolder> list = this.cachedChunkList;
list.clear(); // Ensure the list is empty before re-using it
list.ensureCapacity(initialArraySize);
return list;
}
@Inject(method = "tick(Ljava/util/function/BooleanSupplier;Z)V", at = @At("HEAD"))
private void preTick(BooleanSupplier shouldKeepTicking, boolean tickChunks, CallbackInfo ci) {
// Ensure references aren't leaked through this list
this.cachedChunkList.clear();
}
}