Mod import at top

This commit is contained in:
2025-08-16 15:09:32 +02:00
parent 5bffc81d5d
commit 188ab3ffe3
9 changed files with 32 additions and 35 deletions

View File

@@ -1,8 +1,8 @@
0=com.example
0=com.imbgt
1=com.gregtechceu
2=com.lowdragmc
3=net
4=
5=java
6=javax
7=\#
7=\#

View File

@@ -1,5 +1,11 @@
package com.imbgt.ibg;
import com.imbgt.ibg.block.ModBlocks;
import com.imbgt.ibg.block.entity.ModBlockEntities;
import com.imbgt.ibg.block.entity.client.AnimatedBlockRenderer;
import com.imbgt.ibg.util.FootprintSpec;
import com.imbgt.ibg.util.Footprints;
import com.gregtechceu.gtceu.api.registry.GTRegistries;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
@@ -19,11 +25,6 @@ import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import com.imbgt.ibg.block.ModBlocks;
import com.imbgt.ibg.block.entity.ModBlockEntities;
import com.imbgt.ibg.block.entity.client.AnimatedBlockRenderer;
import com.imbgt.ibg.util.FootprintSpec;
import com.imbgt.ibg.util.Footprints;
import com.mojang.logging.LogUtils;
import org.slf4j.Logger;
import software.bernie.geckolib.GeckoLib;

View File

@@ -1,5 +1,8 @@
package com.imbgt.ibg.block;
import com.imbgt.ibg.IBG;
import com.imbgt.ibg.block.custom.PartBlock;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraftforge.eventbus.api.IEventBus;
@@ -7,9 +10,6 @@ import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
import com.imbgt.ibg.IBG;
import com.imbgt.ibg.block.custom.PartBlock;
public class ModBlocks {
public static final DeferredRegister<Block> BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, IBG.MOD_ID);

View File

@@ -1,10 +1,9 @@
package com.imbgt.ibg.block.custom;
import com.imbgt.ibg.block.entity.PartBE;
import com.gregtechceu.gtceu.api.block.MetaMachineBlock;
import com.gregtechceu.gtceu.api.blockentity.MetaMachineBlockEntity;
import com.imbgt.ibg.util.Footprints;
import com.imbgt.ibg.util.FootprintSpec;
import com.gregtechceu.gtceu.api.block.MetaMachineBlock;
import net.minecraft.client.particle.ParticleEngine;
import net.minecraft.core.BlockPos;
@@ -32,9 +31,6 @@ import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
import net.minecraftforge.client.extensions.common.IClientBlockExtensions;
import com.imbgt.ibg.IBG;
import com.imbgt.ibg.block.entity.PartBE;
import java.util.function.Consumer;
import javax.annotation.Nullable;

View File

@@ -1,14 +1,14 @@
package com.imbgt.ibg.block.entity;
import com.imbgt.ibg.IBG;
import com.imbgt.ibg.block.ModBlocks;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
import com.imbgt.ibg.IBG;
import com.imbgt.ibg.block.ModBlocks;
public class ModBlockEntities {
public static final DeferredRegister<BlockEntityType<?>> BLOCK_ENTITIES = DeferredRegister

View File

@@ -1,8 +1,9 @@
package com.imbgt.ibg.block.entity.client;
import com.imbgt.ibg.IBG;
import net.minecraft.resources.ResourceLocation;
import com.imbgt.ibg.IBG;
import software.bernie.geckolib.core.animatable.GeoAnimatable;
import software.bernie.geckolib.model.GeoModel;

View File

@@ -1,5 +1,7 @@
package com.imbgt.ibg.mixin;
import com.imbgt.ibg.block.entity.PartBE;
import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.client.renderer.LevelRenderer;
import net.minecraft.core.BlockPos;
@@ -7,7 +9,6 @@ import net.minecraft.world.entity.Entity;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.state.BlockState;
import com.imbgt.ibg.block.entity.PartBE;
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
import com.mojang.blaze3d.vertex.PoseStack;

View File

@@ -1,5 +1,9 @@
package com.imbgt.ibg.mixin;
import com.imbgt.ibg.block.ModBlocks;
import com.imbgt.ibg.block.entity.PartBE;
import com.imbgt.ibg.util.Footprints;
import com.gregtechceu.gtceu.api.block.AppearanceBlock;
import com.gregtechceu.gtceu.api.block.IMachineBlock;
import com.gregtechceu.gtceu.api.block.MetaMachineBlock;
@@ -17,10 +21,6 @@ import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
import com.imbgt.ibg.block.ModBlocks;
import com.imbgt.ibg.block.entity.PartBE;
import com.imbgt.ibg.util.Footprints;
import com.imbgt.ibg.IBG;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
@@ -55,7 +55,7 @@ public abstract class MetaMachineBlockMixin extends AppearanceBlock {
@Inject(method = "getStateForPlacement", at = @At("HEAD"), cancellable = true)
private void ibg$latheFootprintCheck(BlockPlaceContext ctx,
CallbackInfoReturnable<BlockState> cir) {
CallbackInfoReturnable<BlockState> cir) {
MetaMachineBlock self = (MetaMachineBlock) (Object) this;
var id = self.getDefinition().getId();
if (!("gtceu".equals(id.getNamespace()) && "lv_lathe".equals(id.getPath())))
@@ -77,7 +77,6 @@ public abstract class MetaMachineBlockMixin extends AppearanceBlock {
return;
}
}
}
@Inject(method = "onPlace", at = @At("TAIL"))
@@ -89,8 +88,8 @@ public abstract class MetaMachineBlockMixin extends AppearanceBlock {
if (spec == null)
return;
var rot = ((IMachineBlock) (Object) this).getRotationState();
Direction facing = (rot == null || rot == RotationState.NONE || !st.hasProperty(rot.property)) ? Direction.NORTH
: st.getValue(rot.property);
Direction facing = (rot == null || rot == RotationState.NONE || !st.hasProperty(rot.property)) ?
Direction.NORTH : st.getValue(rot.property);
for (BlockPos p : Footprints.partPositions(pos, facing, spec)) {
if (lvl.getBlockState(p).canBeReplaced()) {
lvl.setBlockAndUpdate(p, ModBlocks.PART.get().defaultBlockState());
@@ -103,7 +102,7 @@ public abstract class MetaMachineBlockMixin extends AppearanceBlock {
@Inject(method = "onRemove", at = @At("HEAD"))
private void ibg$removePart(BlockState st, Level lvl, BlockPos pos, BlockState newState, boolean moving,
CallbackInfo ci) {
CallbackInfo ci) {
if (lvl.isClientSide || st.getBlock() == newState.getBlock())
return;
var id = getDefinition().getId();
@@ -111,8 +110,8 @@ public abstract class MetaMachineBlockMixin extends AppearanceBlock {
if (spec == null)
return;
var rot = ((IMachineBlock) (Object) this).getRotationState();
Direction facing = (rot == null || rot == RotationState.NONE || !st.hasProperty(rot.property)) ? Direction.NORTH
: st.getValue(rot.property);
Direction facing = (rot == null || rot == RotationState.NONE || !st.hasProperty(rot.property)) ?
Direction.NORTH : st.getValue(rot.property);
for (BlockPos p : Footprints.partPositions(pos, facing, spec)) {
if (lvl.getBlockState(p).is(ModBlocks.PART.get())) {
lvl.removeBlock(p, false);
@@ -122,7 +121,7 @@ public abstract class MetaMachineBlockMixin extends AppearanceBlock {
@Inject(method = "getShape", at = @At("HEAD"), cancellable = true)
private void ibg$combinedOutline(BlockState state, BlockGetter level, BlockPos pos,
CollisionContext ctx, CallbackInfoReturnable<VoxelShape> cir) {
CollisionContext ctx, CallbackInfoReturnable<VoxelShape> cir) {
var spec = com.imbgt.ibg.util.Footprints.get(getDefinition().getId());
if (spec == null)
return;

View File

@@ -18,8 +18,7 @@ public final class Footprints {
private static final Map<ResourceLocation, FootprintSpec> REG = new HashMap<>();
private Footprints() {
}
private Footprints() {}
/** Register or replace a footprint for a machine id. Call during setup. */
public static void register(ResourceLocation machineId, FootprintSpec spec) {