rewrite some interaction handling and to use some event calls instead of mixin. should cover ae2 wrenches now close #106

This commit is contained in:
Flemmli97
2021-12-21 17:24:51 +01:00
parent be4099fa54
commit 5dc0584a7a
10 changed files with 32 additions and 47 deletions
@@ -8,6 +8,7 @@ import io.github.flemmli97.flan.forgeevent.ServerEvents;
import io.github.flemmli97.flan.forgeevent.WorldEventsForge;
import io.github.flemmli97.flan.scoreboard.ClaimCriterias;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.fml.ModList;
import net.minecraftforge.fml.common.Mod;
@@ -29,6 +30,7 @@ public class FlanForge {
forge.addListener(ItemInteractEventsForge::useItem);
forge.addListener(BlockInteractEventsForge::startBreakBlocks);
forge.addListener(BlockInteractEventsForge::breakBlocks);
forge.addListener(EventPriority.HIGHEST, BlockInteractEventsForge::useBlocks);
forge.addListener(EntityInteractEventsForge::attackEntity);
forge.addListener(EntityInteractEventsForge::useAtEntity);
forge.addListener(EntityInteractEventsForge::useEntity);
@@ -22,4 +22,12 @@ public class BlockInteractEventsForge {
if (!BlockInteractEvents.breakBlocks((Level) event.getWorld(), event.getPlayer(), event.getPos(), event.getState(), event.getWorld().getBlockEntity(event.getPos())))
event.setCanceled(true);
}
public static void useBlocks(PlayerInteractEvent.RightClickBlock event) {
InteractionResult res = BlockInteractEvents.useBlocks(event.getPlayer(), event.getWorld(), event.getHand(), event.getHitVec());
if (res != InteractionResult.PASS) {
event.setCancellationResult(res);
event.setCanceled(true);
}
}
}