update to 1.20
This commit is contained in:
@@ -4,33 +4,26 @@ import net.fabricmc.api.ClientModInitializer;
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
|
||||
import net.fabricmc.fabric.api.client.render.fluid.v1.FluidRenderHandlerRegistry;
|
||||
import net.fabricmc.fabric.api.event.player.AttackBlockCallback;
|
||||
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
|
||||
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroupEntries;
|
||||
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
|
||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Material;
|
||||
import net.minecraft.block.enums.Instrument;
|
||||
import net.minecraft.client.render.RenderLayer;
|
||||
import net.minecraft.entity.EntityType;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.*;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.server.world.ServerWorld;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.sound.BlockSoundGroup;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.Rarity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Direction;
|
||||
import net.minecraft.world.BlockView;
|
||||
import net.minecraft.world.World;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import quimufu.colourful_portals.client.PortalFluidRenderHandler;
|
||||
import quimufu.colourful_portals.config.ColourfulPortalConfig;
|
||||
import quimufu.colourful_portals.portal.PortalManager;
|
||||
import quimufu.colourful_portals.portal_fluid.PortalFluid;
|
||||
import quimufu.colourful_portals.portal_fluid.PortalFluidBlock;
|
||||
import quimufu.colourful_portals.portal_fluid.PortalFluidBucketItem;
|
||||
@@ -43,12 +36,12 @@ public class ColourfulPortalsMod implements ModInitializer, ClientModInitializer
|
||||
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
|
||||
public static final HashSet<Identifier> PORTAL_BLOCKS = new HashSet<>();
|
||||
|
||||
public static final PortalBlock PORTAL_BLOCK = new PortalBlock(FabricBlockSettings.of(Material.GLASS).strength(-1.0f, 3600000.8f).dropsNothing().nonOpaque().luminance(15).allowsSpawning(ColourfulPortalsMod::never).solidBlock(ColourfulPortalsMod::never).suffocates(ColourfulPortalsMod::never).blockVision(ColourfulPortalsMod::never).ticksRandomly());
|
||||
public static final PortalBlock PORTAL_BLOCK = new PortalBlock(FabricBlockSettings.create().instrument(Instrument.HAT).sounds(BlockSoundGroup.GLASS).strength(-1.0f, 3600000.8f).dropsNothing().nonOpaque().luminance(15).allowsSpawning(ColourfulPortalsMod::never).solidBlock(ColourfulPortalsMod::never).suffocates(ColourfulPortalsMod::never).blockVision(ColourfulPortalsMod::never).ticksRandomly());
|
||||
public static final BlockItem PORTAL_BLOCK_ITEM = new BlockItem(PORTAL_BLOCK, new FabricItemSettings().rarity(Rarity.EPIC));
|
||||
public static final Item BLOB_DARK = new Item(new FabricItemSettings());
|
||||
public static final Item BLOB_BRIGHT = new Item(new FabricItemSettings());
|
||||
public static final PortalFluid PORTAL_FLUID = new PortalFluid();
|
||||
public static final PortalFluidBlock PORTAL_FLUID_BLOCk = new PortalFluidBlock(PORTAL_FLUID, FabricBlockSettings.of(Material.WATER).luminance(15).noCollision().strength(100.0f).dropsNothing());
|
||||
public static final PortalFluidBlock PORTAL_FLUID_BLOCk = new PortalFluidBlock(PORTAL_FLUID, FabricBlockSettings.create().sounds(BlockSoundGroup.field_44608).luminance(15).noCollision().strength(100.0f).dropsNothing());
|
||||
public static final BucketItem PORTAL_FLUID_BUCKET_ITEM = new PortalFluidBucketItem(PORTAL_FLUID, new FabricItemSettings().recipeRemainder(Items.BUCKET).maxCount(1).rarity(Rarity.RARE));
|
||||
|
||||
private static boolean never(BlockState blockState, BlockView blockView, BlockPos blockPos, EntityType<?> entityType) {
|
||||
|
||||
@@ -26,31 +26,31 @@ import quimufu.colourful_portals.portal.PortalManager;
|
||||
|
||||
public class PortalBlock extends Block implements FluidFillable {
|
||||
public static final EnumProperty<Direction.Axis> AXIS = Properties.AXIS;
|
||||
public static final EnumProperty<DyeColor> DYE_COLOR = EnumProperty.of("colour", DyeColor.class);;
|
||||
public static final EnumProperty<DyeColor> DYE_COLOR = EnumProperty.of("colour", DyeColor.class);
|
||||
|
||||
public static final VoxelShape X_AABB = Block.createCuboidShape(
|
||||
7.0D,
|
||||
0.0D,
|
||||
0.0D,
|
||||
9.0D,
|
||||
16.0D,
|
||||
16.0D
|
||||
7.0D,
|
||||
0.0D,
|
||||
0.0D,
|
||||
9.0D,
|
||||
16.0D,
|
||||
16.0D
|
||||
);
|
||||
public static final VoxelShape Y_AABB = Block.createCuboidShape(
|
||||
0.0D,
|
||||
7.0D,
|
||||
0.0D,
|
||||
16.0D,
|
||||
9.0D,
|
||||
16.0D
|
||||
0.0D,
|
||||
7.0D,
|
||||
0.0D,
|
||||
16.0D,
|
||||
9.0D,
|
||||
16.0D
|
||||
);
|
||||
public static final VoxelShape Z_AABB = Block.createCuboidShape(
|
||||
0.0D,
|
||||
0.0D,
|
||||
7.0D,
|
||||
16.0D,
|
||||
16.0D,
|
||||
9.0D
|
||||
0.0D,
|
||||
0.0D,
|
||||
7.0D,
|
||||
16.0D,
|
||||
16.0D,
|
||||
9.0D
|
||||
);
|
||||
|
||||
public PortalBlock(Settings settings) {
|
||||
@@ -59,12 +59,10 @@ public class PortalBlock extends Block implements FluidFillable {
|
||||
}
|
||||
|
||||
@Override
|
||||
public VoxelShape getOutlineShape(
|
||||
BlockState state, BlockView world, BlockPos blockPos, ShapeContext shapeContext
|
||||
) {
|
||||
if(shapeContext.isHolding(Items.DEBUG_STICK)
|
||||
public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos blockPos, ShapeContext shapeContext) {
|
||||
if (shapeContext.isHolding(Items.DEBUG_STICK)
|
||||
|| shapeContext.isHolding(ColourfulPortalsMod.PORTAL_BLOCK_ITEM)
|
||||
|| shapeContext.isHolding(ColourfulPortalsMod.PORTAL_FLUID_BUCKET_ITEM)){
|
||||
|| shapeContext.isHolding(ColourfulPortalsMod.PORTAL_FLUID_BUCKET_ITEM)) {
|
||||
return switch (state.get(AXIS)) {
|
||||
case Z -> Z_AABB;
|
||||
case Y -> Y_AABB;
|
||||
@@ -122,7 +120,7 @@ public class PortalBlock extends Block implements FluidFillable {
|
||||
|
||||
@Override
|
||||
public boolean canFillWithFluid(BlockView world, BlockPos pos, BlockState state, Fluid fluid) {
|
||||
if(((World)world).isClient() && fluid == ColourfulPortalsMod.PORTAL_FLUID){
|
||||
if (((World) world).isClient() && fluid == ColourfulPortalsMod.PORTAL_FLUID) {
|
||||
return true;
|
||||
}
|
||||
return fluid == ColourfulPortalsMod.PORTAL_FLUID
|
||||
@@ -132,7 +130,7 @@ public class PortalBlock extends Block implements FluidFillable {
|
||||
|
||||
@Override
|
||||
public boolean tryFillWithFluid(WorldAccess world, BlockPos pos, BlockState state, FluidState fluidState) {
|
||||
if(((World)world).isClient() && fluidState.isOf(ColourfulPortalsMod.PORTAL_FLUID)){
|
||||
if (world.isClient() && fluidState.isOf(ColourfulPortalsMod.PORTAL_FLUID)) {
|
||||
return true;
|
||||
}
|
||||
return fluidState.isOf(ColourfulPortalsMod.PORTAL_FLUID)
|
||||
|
||||
@@ -6,14 +6,14 @@ import de.siphalor.tweed4.annotated.AConfigEntry;
|
||||
import de.siphalor.tweed4.annotated.ATweedConfig;
|
||||
import de.siphalor.tweed4.config.ConfigEnvironment;
|
||||
import de.siphalor.tweed4.config.ConfigScope;
|
||||
import de.siphalor.tweed4.tailor.cloth.ClothData;
|
||||
//import de.siphalor.tweed4.tailor.cloth.ClothData;
|
||||
import net.minecraft.util.DyeColor;
|
||||
import quimufu.colourful_portals.ColourfulPortalsMod;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@ATweedConfig(serializer = "tweed4:hjson", scope = ConfigScope.GAME, environment = ConfigEnvironment.SERVER, tailors = {"tweed4:lang_json_descriptions", "tweed4:coat", "tweed4:json_schema"}, casing = CaseFormat.LOWER_HYPHEN)
|
||||
@ClothData(modid = ColourfulPortalsMod.MOD_ID)
|
||||
//@ClothData(modid = ColourfulPortalsMod.MOD_ID)
|
||||
public class ColourfulPortalConfig {
|
||||
|
||||
@AConfigEntry(comment =
|
||||
|
||||
@@ -7,6 +7,7 @@ import net.minecraft.fluid.FluidState;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.loot.context.LootContext;
|
||||
import net.minecraft.loot.context.LootContextParameterSet;
|
||||
import net.minecraft.server.world.ServerWorld;
|
||||
import net.minecraft.sound.SoundEvent;
|
||||
import net.minecraft.state.StateManager;
|
||||
@@ -90,7 +91,7 @@ public class PortalFluidBlock
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ItemStack> getDroppedStacks(BlockState state, LootContext.Builder builder) {
|
||||
public List<ItemStack> getDroppedStacks(BlockState state, LootContextParameterSet.Builder builder) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@ package quimufu.colourful_portals.portal_fluid;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.FluidFillable;
|
||||
import net.minecraft.block.Material;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.BucketItem;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -62,7 +61,6 @@ public class PortalFluidBucketItem extends BucketItem {
|
||||
public boolean placeFluid(PlayerEntity player, World world, BlockPos pos, BlockHitResult hitResult) {
|
||||
BlockState blockState = world.getBlockState(pos);
|
||||
Block block = blockState.getBlock();
|
||||
Material material = blockState.getMaterial();
|
||||
boolean shouldTryPlace = blockState.isAir()
|
||||
|| blockState.canBucketPlace(this.fluid)
|
||||
|| block instanceof FluidFillable && ((FluidFillable) block).canFillWithFluid(world, pos, blockState, this.fluid);
|
||||
@@ -83,7 +81,7 @@ public class PortalFluidBucketItem extends BucketItem {
|
||||
}
|
||||
|
||||
|
||||
if (!world.isClient && blockState.canBucketPlace(this.fluid) && !material.isLiquid()) {
|
||||
if (!world.isClient && blockState.canBucketPlace(this.fluid) && !blockState.isLiquid()) {
|
||||
world.breakBlock(pos, true);
|
||||
}
|
||||
if (world.setBlockState(pos, this.fluid.getDefaultState().getBlockState(), Block.NOTIFY_ALL | Block.REDRAW_ON_MAIN_THREAD) || blockState.getFluidState().isStill()) {
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"plugin": "quimufu.colourful_portals.MixinConfig",
|
||||
"client": [
|
||||
"InterpolationMixin",
|
||||
"SodiumFluidRendererMixin"
|
||||
"SodiumFluidRendererMixin",
|
||||
"FrontClippingMixin"
|
||||
]
|
||||
}
|
||||
@@ -41,14 +41,11 @@
|
||||
"colourful_portals.mixins.json"
|
||||
],
|
||||
"depends": {
|
||||
"fabricloader": ">=0.14.19",
|
||||
"imm_ptl_core": ">=2.6.9",
|
||||
"q_misc_util": ">=2.6.9",
|
||||
"minecraft": "~1.19.4",
|
||||
"fabricloader": ">=${loader_version}",
|
||||
"imm_ptl_core": ">=${immersive_portals_version_short}",
|
||||
"q_misc_util": ">=${immersive_portals_version_short}",
|
||||
"minecraft": "~${minecraft_version}",
|
||||
"java": ">=17",
|
||||
"fabric-api": "*"
|
||||
},
|
||||
"suggests": {
|
||||
"another-mod": "*"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user