- 1
- 0
Хотел бы добавить параметр на FarmBlock (грядка в майне) который бы отображался в игре и мог меняться от каких либо условий. Но у FarmBlock нет блоковой сущности FarmBlockEntity (если бы была, я бы мог подмешать в целевой класс нужный мне параметр сразу?). Поэтому я зарегал (1 фото) и создал его (2 фото), а теперь я незнаю как добавить новый метод в целевой класс (FarmBlock). (3 фото mixin). Помогите.
1 фото:
package net.mcreator.globalcraft;
import net.minecraftforge.registries.RegistryObject;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.fml.common.Mod;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.Blocks;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
public class RegistryFarmlandEntity {
public static final DeferredRegister<BlockEntityType<?>> REGISTRY = DeferredRegister.create(ForgeRegistries.BLOCK_ENTITY_TYPES, GlobalCraftMod.MODID);
public static final RegistryObject<BlockEntityType<FarmBlockEntity>> FARMBLOCK_ENTITY = REGISTRY.register("farmblock_entity", () -> BlockEntityType.Builder.of(FarmBlockEntity::new, Blocks.FARMLAND).build(null));
}
2 фото:
package net.mcreator.globalcraft;
import net.minecraftforge.fml.common.Mod;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.core.BlockPos;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
public class FarmBlockEntity extends BlockEntity {
public FarmBlockEntity(BlockPos pos, BlockState state) {
super(RegistryFarmlandEntity.FARMBLOCK_ENTITY.get(), pos, state);
}
}
3 фото:
package net.mcreator.globalcraft.mixins;
import org.spongepowered.asm.mixin.Mixin;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.FarmBlock;
import net.minecraft.world.level.block.EntityBlock;
import net.minecraft.core.BlockPos;
import net.mcreator.globalcraft.RegistryFarmlandEntity;
@Mixin(FarmBlock.class)
public abstract class FarmBlockMixin implements EntityBlock {
public BlockEntity newBlockEntity(BlockPos pos, BlockState state) {
return RegistryFarmlandEntity.FARMBLOCK_ENTITY.get().create(pos, state);
}
}