Skip to content

Commit 4de92e0

Browse files
committed
Fix BlockPlaceEvent not called in NeoForge due to the lack of the PlaceEvent direction capture; close #1650
1 parent a54061d commit 4de92e0

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package io.izzel.arclight.neoforge.mixin.neoforge;
2+
3+
import io.izzel.arclight.common.mod.util.ArclightCaptures;
4+
import net.minecraft.core.Direction;
5+
import net.minecraft.world.entity.Entity;
6+
import net.neoforged.neoforge.common.util.BlockSnapshot;
7+
import net.neoforged.neoforge.event.EventHooks;
8+
import org.spongepowered.asm.mixin.Mixin;
9+
import org.spongepowered.asm.mixin.injection.At;
10+
import org.spongepowered.asm.mixin.injection.Inject;
11+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
12+
13+
import java.util.List;
14+
15+
@Mixin(EventHooks.class)
16+
public abstract class EventHooksMixin {
17+
@Inject(method = "onBlockPlace", remap = false, at = @At("HEAD"))
18+
private static void arclight$captureDirection(Entity entity, BlockSnapshot blockSnapshot, Direction direction, CallbackInfoReturnable<Boolean> cir) {
19+
ArclightCaptures.capturePlaceEventDirection(direction);
20+
}
21+
22+
@Inject(method = "onMultiBlockPlace", remap = false, at = @At("HEAD"))
23+
private static void arclight$captureDirection(Entity entity, List<BlockSnapshot> blockSnapshots, Direction direction, CallbackInfoReturnable<Boolean> cir) {
24+
ArclightCaptures.capturePlaceEventDirection(direction);
25+
}
26+
}

arclight-neoforge/src/main/resources/mixins.arclight.neoforge.json

+1
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
"core.world.level.levelgen.structure.templatesystem.StructureTemplateMixin_NeoForge",
7272
"core.world.level.storage.loot.LootContextMixin_NeoForge",
7373
"neoforge.CommonHooksMixin",
74+
"neoforge.EventHooksMixin",
7475
"neoforge.PacketDistributorMixin",
7576
"neoforge.PermissionAPIMixin",
7677
"optimization.general.activationrange.entity.ItemEntityMixin_ActivationRange_NeoForge"

0 commit comments

Comments
 (0)