From 47e7b961a6f49b53a87cc3e1758bd5a3c59eb2fe Mon Sep 17 00:00:00 2001 From: Reider745 <70357814+Reider745@users.noreply.github.com> Date: Fri, 2 Feb 2024 17:37:13 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9A=D1=8D=D0=BB=D0=B1=D0=B5=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Добавлена поддержка кэлбека генерации чанка из пользовательско измерения - Добавлена поддержка CustomDimensionTransfer --- .../java/com/reider745/api/CallbackHelper.java | 4 +++- .../com/reider745/event/EventListener.java | 18 +++++++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/reider745/api/CallbackHelper.java b/src/main/java/com/reider745/api/CallbackHelper.java index 202af477..a6089b88 100644 --- a/src/main/java/com/reider745/api/CallbackHelper.java +++ b/src/main/java/com/reider745/api/CallbackHelper.java @@ -15,7 +15,9 @@ public class CallbackHelper { GENERATION_CHUNK_END, PRE_GENERATION_CHUNK, PRE_GENERATION_CHUNK_NETHER, - PRE_GENERATION_CHUNK_END; + PRE_GENERATION_CHUNK_END, + GENERATION_CHUNK_CUSTOM, + PRE_GENERATION_CHUNK_CUSTOM; } private static final HashMap types = new HashMap<>(); diff --git a/src/main/java/com/reider745/event/EventListener.java b/src/main/java/com/reider745/event/EventListener.java index 08a56411..76021267 100644 --- a/src/main/java/com/reider745/event/EventListener.java +++ b/src/main/java/com/reider745/event/EventListener.java @@ -38,6 +38,7 @@ import com.reider745.hooks.ItemUtils; import com.zhekasmirnov.horizon.runtime.logger.Logger; import com.zhekasmirnov.innercore.api.NativeCallback; import com.zhekasmirnov.innercore.api.NativeItemInstanceExtra; +import com.zhekasmirnov.innercore.api.dimensions.CustomDimension; public class EventListener implements Listener { @@ -131,8 +132,13 @@ public class EventListener implements Listener { } case Level.DIMENSION_THE_END -> { - CallbackHelper.applyRegion(CallbackHelper.Type.GENERATION_CHUNK_END, level, applyPost); CallbackHelper.applyRegion(CallbackHelper.Type.PRE_GENERATION_CHUNK_END, level, applyPre); + CallbackHelper.applyRegion(CallbackHelper.Type.GENERATION_CHUNK_END, level, applyPost); + } + + default -> { + CallbackHelper.applyRegion(CallbackHelper.Type.GENERATION_CHUNK_CUSTOM, level, applyPost); + CallbackHelper.applyRegion(CallbackHelper.Type.PRE_GENERATION_CHUNK_CUSTOM, level, applyPre); } } } catch (Exception e) { @@ -318,6 +324,14 @@ public class EventListener implements Listener { newBlock.getFullId(), block.getLevel())); } + @EventHandler(priority = EventPriority.HIGHEST) + public void onCustomDimensionTransfer(EntityTeleportEvent event){ + final int from = event.getFrom().level.getDimension(); + final int to = event.getFrom().level.getDimension(); + if(CustomDimension.getDimensionById(to) != null || CustomDimension.getDimensionById(from) != null) + NativeCallback.onCustomDimensionTransfer(event.getEntity().getId(), from, to); + } + // TODO: onPathNavigationDone // TODO: onAnimateBlockTick @@ -340,6 +354,4 @@ public class EventListener implements Listener { // onEnchantGetProtectionBonus // TODO: onWorkbenchCraft - - // TODO: onCustomDimensionTransfer }