Skip to content

Commit

Permalink
bump: minecraft 1.20.6
Browse files Browse the repository at this point in the history
  • Loading branch information
sakurawald committed Jun 17, 2024
1 parent 57aa241 commit 4d5df70
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 57 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package io.github.sakurawald.module.mixin.multi_obsidian_platform;

import com.llamalad7.mixinextras.sugar.Local;
import io.github.sakurawald.module.ModuleManager;
import io.github.sakurawald.module.initializer.multi_obsidian_platform.MultiObsidianPlatformModule;
import net.minecraft.block.EndPortalBlock;
import net.minecraft.entity.Entity;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;

@Mixin(EndPortalBlock.class)
public class EndPortalBlockMixin {

@Unique
private static final MultiObsidianPlatformModule module = ModuleManager.getInitializer(MultiObsidianPlatformModule.class);

@Unique
BlockPos getTransformedEndSpawnPoint(Entity entity) {
return module.transform(entity.getBlockPos());
}

@Unique
World getEntityCurrentLevel(Entity entity) {
return entity.getWorld();
}

@Redirect(method = "createTeleportTarget", at = @At(value = "FIELD", target = "Lnet/minecraft/server/world/ServerWorld;END_SPAWN_POS:Lnet/minecraft/util/math/BlockPos;")
)
/* This method will NOT be called when an entity (including player, item and other entities) jump into overworld's ender-portal-frame */
BlockPos $createTeleportTarget(@Local(argsOnly = true) Entity entity) {
if (getEntityCurrentLevel(entity).getRegistryKey() != World.OVERWORLD) {
// modify: resource_world:overworld -> minecraft:the_end (default obsidian platform)
// feature: https://bugs.mojang.com/browse/MC-252361
return ServerWorld.END_SPAWN_POS;
}
BlockPos transformedEndSpawnPoint = getTransformedEndSpawnPoint(entity);
return transformedEndSpawnPoint;
}

}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,16 @@
import io.github.sakurawald.module.initializer.tick_chunk_cache.ITickableChunkSource;
import net.minecraft.server.world.ChunkHolder;
import net.minecraft.server.world.ServerChunkManager;
import net.minecraft.server.world.ThreadedAnvilChunkStorage;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;

@Mixin(ServerChunkManager.class)
public class ServerChunkCacheMixin {

@Redirect(method = "tickChunks", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/world/ThreadedAnvilChunkStorage;entryIterator()Ljava/lang/Iterable;"))
private Iterable<ChunkHolder> $tickChunks(ThreadedAnvilChunkStorage instance) {
return ((ITickableChunkSource) instance).fuji$tickableChunksIterator();
}
// @Redirect(method = "tickChunks", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/world/ThreadedAnvilChunkStorage;entryIterator()Ljava/lang/Iterable;"))
// private Iterable<ChunkHolder> $tickChunks(ThreadedAnvilChunkStorage instance) {
// return ((ITickableChunkSource) instance).fuji$tickableChunksIterator();
// }

}
1 change: 0 additions & 1 deletion src/main/resources/fuji.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
"main_stats.ServerPlayNetworkHandlerMixin",
"motd.ServerStatusPacketListenerImplMixin",
"multi_obsidian_platform.EndPortalBlockMixin",
"multi_obsidian_platform.EntityMixin",
"newbie_welcome.PlayerListMixin",
"op_protect.ServerPlayNetworkHandlerMixin",
"pvp.PvpToggleMixin",
Expand Down

0 comments on commit 4d5df70

Please sign in to comment.