nosingleplayer 1.1.1: fond custom via blit + log debug widgets

This commit is contained in:
kisakay
2026-10-18 21:14:36 +02:00
parent 3a2dfeb21e
commit 3b5e8e7a13
338 changed files with 2040 additions and 166 deletions
@@ -0,0 +1,91 @@
package net.paladrill.paladrillmod.block;
import net.paladrill.paladrillmod.procedure.ProcedureAngelicWaterMobplayerCollidesBlock;
import net.paladrill.paladrillmod.ElementsPaladrillmodMod;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.BlockFluidClassic;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraft.world.World;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.ResourceLocation;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.Item;
import net.minecraft.entity.Entity;
import net.minecraft.client.renderer.block.statemap.StateMapperBase;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.client.renderer.block.model.ModelBakery;
import net.minecraft.client.renderer.ItemMeshDefinition;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.material.Material;
import net.minecraft.block.Block;
import java.util.Map;
import java.util.HashMap;
@ElementsPaladrillmodMod.ModElement.Tag
public class BlockAngelicWater extends ElementsPaladrillmodMod.ModElement {
@GameRegistry.ObjectHolder("paladrillmod:angelicwater")
public static final Block block = null;
@GameRegistry.ObjectHolder("paladrillmod:angelicwater")
public static final Item item = null;
private Fluid fluid;
public BlockAngelicWater(ElementsPaladrillmodMod instance) {
super(instance, 54);
fluid = new Fluid("angelicwater", new ResourceLocation("paladrillmod:blocks/angelicwater_still"),
new ResourceLocation("paladrillmod:blocks/angelicwater_flowing")).setLuminosity(0).setDensity(1000).setViscosity(1000)
.setGaseous(false);
}
@Override
public void initElements() {
elements.blocks.add(() -> new BlockFluidClassic(fluid, Material.WATER) {
@Override
public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) {
super.onEntityCollidedWithBlock(world, pos, state, entity);
int x = pos.getX();
int y = pos.getY();
int z = pos.getZ();
{
Map<String, Object> $_dependencies = new HashMap<>();
$_dependencies.put("entity", entity);
ProcedureAngelicWaterMobplayerCollidesBlock.executeProcedure($_dependencies);
}
}
}.setUnlocalizedName("angelicwater").setRegistryName("angelicwater"));
elements.items.add(() -> new ItemBlock(block).setRegistryName("angelicwater"));
}
@Override
public void preInit(FMLPreInitializationEvent event) {
FluidRegistry.registerFluid(fluid);
FluidRegistry.addBucketForFluid(fluid);
}
@Override
@SideOnly(Side.CLIENT)
public void registerModels(ModelRegistryEvent event) {
ModelBakery.registerItemVariants(item);
ModelLoader.setCustomMeshDefinition(item, new ItemMeshDefinition() {
@Override
public ModelResourceLocation getModelLocation(ItemStack stack) {
return new ModelResourceLocation("paladrillmod:angelicwater", "angelicwater");
}
});
ModelLoader.setCustomStateMapper(block, new StateMapperBase() {
@Override
protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
return new ModelResourceLocation("paladrillmod:angelicwater", "angelicwater");
}
});
}
}