Кэлбеки

- Добавлена поддержка кэлбека генерации чанка из пользовательско измерения
- Добавлена поддержка CustomDimensionTransfer
This commit is contained in:
Reider745
2024-02-02 17:37:13 +03:00
parent e6d67ff021
commit 47e7b961a6
2 changed files with 18 additions and 4 deletions
@@ -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<Type, ThreadRegion> types = new HashMap<>();
@@ -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
}