update to 1.20

This commit is contained in:
2023-06-11 00:14:34 +02:00
parent 580d46a36c
commit 2ed2891b71
9 changed files with 53 additions and 64 deletions

View File

@@ -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) {

View File

@@ -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)

View File

@@ -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 =

View File

@@ -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();
}

View File

@@ -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()) {

View File

@@ -11,6 +11,7 @@
"plugin": "quimufu.colourful_portals.MixinConfig",
"client": [
"InterpolationMixin",
"SodiumFluidRendererMixin"
"SodiumFluidRendererMixin",
"FrontClippingMixin"
]
}

View File

@@ -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": "*"
}
}