From 6b21f615d7722b17cd69f39ecc86c27f770e4be2 Mon Sep 17 00:00:00 2001 From: BrokenK3yboard <63761658+BrokenK3yboard@users.noreply.github.com> Date: Thu, 9 Jan 2025 22:34:30 -0600 Subject: [PATCH] Down to 1096 errors --- .../addons/oddities/block/CrateBlock.java | 7 +- .../addons/oddities/block/MagnetBlock.java | 9 +-- .../oddities/block/MovingMagnetizedBlock.java | 17 ++-- .../AbstractEnchantingTableBlockEntity.java | 28 +++---- .../oddities/block/be/CrateBlockEntity.java | 2 +- .../block/be/MagnetizedBlockBlockEntity.java | 36 ++++----- .../oddities/block/be/PipeBlockEntity.java | 35 ++++---- .../block/be/TinyPotatoBlockEntity.java | 54 ++++++++----- .../oddities/block/pipe/BasePipeBlock.java | 9 +-- .../oddities/block/pipe/CopperPipeBlock.java | 32 ++++---- .../client/model/TinyPotatoModel.java | 5 +- .../client/particle/MagnetParticle.java | 11 +-- .../be/MatrixEnchantingTableRenderer.java | 6 +- .../client/render/be/TinyPotatoRenderer.java | 3 +- .../oddities/client/screen/CrateScreen.java | 35 ++++---- .../screen/MatrixEnchantingPieceList.java | 6 +- .../oddities/inventory/slot/BackpackSlot.java | 4 +- .../inventory/slot/CachedItemHandlerSlot.java | 5 +- .../ConvulsionMatrixClientDefinition.java | 46 +++++------ .../base/handler/ProxiedItemStackHandler.java | 10 +-- .../quark/base/handler/WoodSetHandler.java | 71 +++++----------- .../boat/QuarkBoatDispenseItemBehavior.java | 18 ++--- .../base/network/message/DoEmoteMessage.java | 6 +- .../quark/base/util/InventoryIIH.java | 10 +-- .../block/RedstoneRandomizerBlock.java | 6 +- .../block/be/CrafterBlockEntity.java | 50 +++++------- .../module/FeedingTroughModule.java | 7 +- .../module/PistonsMoveTileEntitiesModule.java | 7 +- .../content/building/block/CutVineBlock.java | 8 +- .../content/building/block/GrateBlock.java | 9 +-- .../building/block/HollowWoodBlock.java | 22 +++-- .../building/block/RainbowLampBlock.java | 2 - .../content/building/block/RopeBlock.java | 34 +++----- .../content/building/block/StoolBlock.java | 8 +- .../building/block/VerticalSlabBlock.java | 12 ++- .../WeatheringCopperVerticalSlabBlock.java | 2 +- .../render/entity/GlassItemFrameRenderer.java | 11 ++- .../building/item/QuarkItemFrameItem.java | 8 +- .../client/tooltip/AttributeTooltips.java | 60 ++++++-------- .../client/tooltip/ShulkerBoxTooltips.java | 8 +- .../client/screen/VariantSelectorScreen.java | 4 +- .../module/VillagerRerollingReworkModule.java | 3 +- .../client/screen/HeldShulkerBoxScreen.java | 2 +- .../management/module/ItemSharingModule.java | 2 +- .../forgotten/ForgottenClothingLayer.java | 2 +- .../client/layer/shiba/ShibaCollarLayer.java | 8 +- .../content/mobs/client/model/CrabModel.java | 8 +- .../content/mobs/client/model/ShibaModel.java | 12 +-- .../mobs/client/model/ToretoiseModel.java | 11 +-- .../render/entity/ForgottenRenderer.java | 12 +-- .../quark/content/mobs/entity/Forgotten.java | 41 ++++------ .../quark/content/mobs/entity/Foxhound.java | 2 +- .../content/mobs/item/ForgottenHatItem.java | 24 ++---- .../content/mobs/module/ForgottenModule.java | 2 +- .../tools/client/render/GlintRenderTypes.java | 6 +- .../QuarkBeaconBlockEntityRenderer.java | 26 +++--- .../content/tools/config/PickarangType.java | 2 +- .../tools/item/PathfindersQuillItem.java | 9 +-- .../quark/content/tools/item/TrowelItem.java | 31 +++---- .../quark/content/tools/loot/EnchantTome.java | 4 +- .../tools/module/SkullPikesModule.java | 2 +- .../tools/recipe/SmithingRuneRecipe.java | 24 +++--- .../content/tweaks/block/DirtyGlassBlock.java | 2 +- .../layer/ArmorStandFakePlayerLayer.java | 2 +- .../render/entity/DyedItemFrameRenderer.java | 80 +++++++++---------- .../content/tweaks/entity/DyedItemFrame.java | 3 +- .../module/DoubleDoorOpeningModule.java | 13 ++- .../module/DyeableItemFramesModule.java | 15 ++-- .../module/RenewableSporeBlossomsModule.java | 4 +- .../module/ZombieVillagersOnNormalModule.java | 2 +- .../content/world/block/CorundumBlock.java | 3 +- .../world/block/MyaliteCrystalBlock.java | 13 +-- .../lootr/LootrVariantChestBlock.java | 8 +- .../lootr/LootrVariantChestBlockEntity.java | 4 +- .../quark/mixin/mixins/ItemStackMixin.java | 4 +- .../mixins/self/IZetaBlockMixin_FAKE.java | 24 +++--- .../mixins/self/IZetaItemMixin_FAKE.java | 48 ++++------- .../resources/META-INF/accesstransformer.cfg | 16 ++-- 78 files changed, 495 insertions(+), 702 deletions(-) diff --git a/src/main/java/org/violetmoon/quark/addons/oddities/block/CrateBlock.java b/src/main/java/org/violetmoon/quark/addons/oddities/block/CrateBlock.java index e18375a668..8629e56143 100644 --- a/src/main/java/org/violetmoon/quark/addons/oddities/block/CrateBlock.java +++ b/src/main/java/org/violetmoon/quark/addons/oddities/block/CrateBlock.java @@ -1,6 +1,7 @@ package org.violetmoon.quark.addons.oddities.block; import net.minecraft.core.BlockPos; +import net.minecraft.core.component.DataComponents; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.RandomSource; @@ -71,7 +72,7 @@ public MenuProvider getMenuProvider(@NotNull BlockState state, Level level, @Not @NotNull @Override - public InteractionResult use(@NotNull BlockState state, Level worldIn, @NotNull BlockPos pos, @NotNull Player player, @NotNull InteractionHand handIn, @NotNull BlockHitResult hit) { + public InteractionResult useWithoutItem(@NotNull BlockState state, Level worldIn, @NotNull BlockPos pos, @NotNull Player player, @NotNull BlockHitResult hit) { if(worldIn.isClientSide) { return InteractionResult.SUCCESS; } else { @@ -89,10 +90,10 @@ public InteractionResult use(@NotNull BlockState state, Level worldIn, @NotNull @Override public void setPlacedBy(@NotNull Level worldIn, @NotNull BlockPos pos, @NotNull BlockState state, @Nullable LivingEntity placer, ItemStack stack) { - if(stack.hasCustomHoverName()) { + if(stack.getComponents().has(DataComponents.CUSTOM_NAME)) { BlockEntity tileentity = worldIn.getBlockEntity(pos); if(tileentity instanceof CrateBlockEntity crate) - crate.setCustomName(stack.getHoverName()); + crate.setComponents(stack.getHoverName()); } } diff --git a/src/main/java/org/violetmoon/quark/addons/oddities/block/MagnetBlock.java b/src/main/java/org/violetmoon/quark/addons/oddities/block/MagnetBlock.java index f8dad53c70..9dbd1e3ff5 100644 --- a/src/main/java/org/violetmoon/quark/addons/oddities/block/MagnetBlock.java +++ b/src/main/java/org/violetmoon/quark/addons/oddities/block/MagnetBlock.java @@ -5,6 +5,7 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.world.item.CreativeModeTabs; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.item.context.BlockPlaceContext; @@ -45,7 +46,6 @@ public MagnetBlock(@Nullable ZetaModule module) { registerDefaultState(defaultBlockState().setValue(FACING, Direction.DOWN).setValue(POWERED, false).setValue(WAXED, false)); - if(module == null) //auto registration below this line return; setCreativeTab(CreativeModeTabs.REDSTONE_BLOCKS); @@ -55,9 +55,9 @@ public MagnetBlock(@Nullable ZetaModule module) { } @Override - public void appendHoverText(@NotNull ItemStack stack, @Nullable BlockGetter worldIn, @NotNull List tooltip, @NotNull TooltipFlag flagIn) { + public void appendHoverText(ItemStack stack, Item.TooltipContext context, List components, TooltipFlag flag) { if(stack.getHoverName().getString().equals("Q")) - tooltip.add(Component.literal("haha yes")); + components.add(Component.literal("haha yes")); } @Override @@ -95,7 +95,7 @@ public boolean triggerEvent(BlockState state, Level world, BlockPos pos, int act BlockEntity tilePresent = world.getBlockEntity(targetPos); CompoundTag tileData = new CompoundTag(); if(tilePresent != null && !(tilePresent instanceof MagnetizedBlockBlockEntity)) { - tileData = tilePresent.saveWithFullMetadata(); + tileData = tilePresent.saveWithFullMetadata(world.registryAccess()); tilePresent.setRemoved(); } @@ -150,5 +150,4 @@ public BlockEntity newBlockEntity(@NotNull BlockPos pos, @NotNull BlockState sta public BlockEntityTicker getTicker(@NotNull Level world, @NotNull BlockState state, @NotNull BlockEntityType type) { return createTickerHelper(type, MagnetsModule.magnetType, MagnetBlockEntity::tick); } - } diff --git a/src/main/java/org/violetmoon/quark/addons/oddities/block/MovingMagnetizedBlock.java b/src/main/java/org/violetmoon/quark/addons/oddities/block/MovingMagnetizedBlock.java index c38a389036..6ade661898 100644 --- a/src/main/java/org/violetmoon/quark/addons/oddities/block/MovingMagnetizedBlock.java +++ b/src/main/java/org/violetmoon/quark/addons/oddities/block/MovingMagnetizedBlock.java @@ -8,6 +8,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; +import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.*; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityTicker; @@ -20,6 +21,7 @@ import net.minecraft.world.level.storage.loot.LootParams; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.phys.BlockHitResult; +import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; @@ -70,12 +72,13 @@ public boolean useShapeForLightOcclusion(@NotNull BlockState state) { @NotNull @Override - public InteractionResult use(@NotNull BlockState state, Level worldIn, @NotNull BlockPos pos, @NotNull Player player, @NotNull InteractionHand handIn, @NotNull BlockHitResult hit) { - if(!worldIn.isClientSide && worldIn.getBlockEntity(pos) == null) { - worldIn.removeBlock(pos, false); + public InteractionResult useWithoutItem(@NotNull BlockState state, Level level, @NotNull BlockPos pos, @NotNull Player player, @NotNull BlockHitResult hit) { + if (!level.isClientSide && level.getBlockEntity(pos) == null) { + level.removeBlock(pos, false); return InteractionResult.CONSUME; - } else + } else { return InteractionResult.PASS; + } } @Override @@ -105,8 +108,7 @@ private MagnetizedBlockBlockEntity getMagnetTileEntity(BlockGetter world, BlockP } @Override - @NotNull - public ItemStack getCloneItemStack(@NotNull BlockGetter worldIn, @NotNull BlockPos pos, @NotNull BlockState state) { + public ItemStack getCloneItemStack(LevelReader level, BlockPos pos, BlockState state) { return ItemStack.EMPTY; } @@ -128,7 +130,7 @@ protected void createBlockStateDefinition(StateDefinition.Builder BlockEntityTicker getTicker(@NotNull Level world, @NotNull BlockState state, @NotNull BlockEntityType type) { return createTickerHelper(type, MagnetsModule.magnetizedBlockType, MagnetizedBlockBlockEntity::tick); } - } diff --git a/src/main/java/org/violetmoon/quark/addons/oddities/block/be/AbstractEnchantingTableBlockEntity.java b/src/main/java/org/violetmoon/quark/addons/oddities/block/be/AbstractEnchantingTableBlockEntity.java index 1d2441e62b..8b1bf15873 100644 --- a/src/main/java/org/violetmoon/quark/addons/oddities/block/be/AbstractEnchantingTableBlockEntity.java +++ b/src/main/java/org/violetmoon/quark/addons/oddities/block/be/AbstractEnchantingTableBlockEntity.java @@ -1,12 +1,7 @@ package org.violetmoon.quark.addons.oddities.block.be; -import java.util.Random; - -import org.jetbrains.annotations.NotNull; -import org.violetmoon.zeta.util.MiscUtil; -import org.violetmoon.zeta.util.SimpleInventoryBlockEntity; - import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.network.protocol.Packet; @@ -19,6 +14,11 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.NotNull; +import org.violetmoon.zeta.util.MiscUtil; +import org.violetmoon.zeta.util.SimpleInventoryBlockEntity; + +import java.util.Random; public abstract class AbstractEnchantingTableBlockEntity extends SimpleInventoryBlockEntity implements Nameable { @@ -43,19 +43,19 @@ public boolean isAutomationEnabled() { } @Override - protected void saveAdditional(CompoundTag compoundTag) { - super.saveAdditional(compoundTag); + protected void saveAdditional(CompoundTag tag, HolderLookup.Provider provider) { + super.saveAdditional(tag, provider); if(hasCustomName()) - compoundTag.putString("CustomName", Component.Serializer.toJson(customName)); + tag.putString("CustomName", Component.Serializer.toJson(customName, provider)); } @Override - public void load(CompoundTag compound) { - super.load(compound); + protected void loadAdditional(CompoundTag tag, HolderLookup.Provider provider) { + super.loadAdditional(tag, provider); - if(compound.contains("CustomName", 8)) - customName = Component.Serializer.fromJson(compound.getString("CustomName")); + if(tag.contains("CustomName", 8)) + customName = Component.Serializer.fromJson(tag.getString("CustomName"), provider); } public void tick() { @@ -141,7 +141,7 @@ public void setCustomName(Component customNameIn) { } @Override - public void inventoryChanged(int i) { + protected void inventoryChanged(int i) { super.inventoryChanged(i); sync(); } diff --git a/src/main/java/org/violetmoon/quark/addons/oddities/block/be/CrateBlockEntity.java b/src/main/java/org/violetmoon/quark/addons/oddities/block/be/CrateBlockEntity.java index be17095718..d5b54a240f 100644 --- a/src/main/java/org/violetmoon/quark/addons/oddities/block/be/CrateBlockEntity.java +++ b/src/main/java/org/violetmoon/quark/addons/oddities/block/be/CrateBlockEntity.java @@ -22,8 +22,8 @@ import net.minecraft.world.phys.AABB; import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.wrapper.EmptyHandler; +import net.neoforged.neoforge.items.IItemHandler; import org.jetbrains.annotations.NotNull; import org.violetmoon.quark.addons.oddities.block.CrateBlock; import org.violetmoon.quark.addons.oddities.capability.CrateItemHandler; diff --git a/src/main/java/org/violetmoon/quark/addons/oddities/block/be/MagnetizedBlockBlockEntity.java b/src/main/java/org/violetmoon/quark/addons/oddities/block/be/MagnetizedBlockBlockEntity.java index d8a8a00783..80d08916ab 100644 --- a/src/main/java/org/violetmoon/quark/addons/oddities/block/be/MagnetizedBlockBlockEntity.java +++ b/src/main/java/org/violetmoon/quark/addons/oddities/block/be/MagnetizedBlockBlockEntity.java @@ -2,6 +2,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.core.registries.Registries; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; @@ -12,7 +13,10 @@ import net.minecraft.world.entity.MoverType; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.BasePressurePlateBlock; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.ButtonBlock; +import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; @@ -21,9 +25,6 @@ import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; - -import org.jetbrains.annotations.NotNull; - import org.violetmoon.quark.addons.oddities.magnetsystem.MagnetSystem; import org.violetmoon.quark.addons.oddities.module.MagnetsModule; import org.violetmoon.quark.api.IMagnetMoveAction; @@ -229,9 +230,8 @@ public BlockEntity getSubTile(BlockPos pos) { tileData.putInt("x", this.worldPosition.getX()); tileData.putInt("y", this.worldPosition.getY()); tileData.putInt("z", this.worldPosition.getZ()); - return BlockEntity.loadStatic(pos, magnetState, subTile); + return BlockEntity.loadStatic(pos, magnetState, subTile, level.registryAccess()); } - return null; } @@ -302,26 +302,24 @@ public void tick() { } @Override - public void load(@NotNull CompoundTag compound) { - super.load(compound); - - this.magnetState = NbtUtils.readBlockState(level.holderLookup(Registries.BLOCK), compound.getCompound("blockState")); - this.magnetFacing = Direction.from3DDataValue(compound.getInt("facing")); - this.progress = compound.getFloat("progress"); + protected void loadAdditional(CompoundTag tag, HolderLookup.Provider provider) { + super.loadAdditional(tag, provider); + this.magnetState = NbtUtils.readBlockState(level.holderLookup(Registries.BLOCK), tag.getCompound("blockState")); + this.magnetFacing = Direction.from3DDataValue(tag.getInt("facing")); + this.progress = tag.getFloat("progress"); this.lastProgress = this.progress; - this.subTile = compound.getCompound("subTile"); + this.subTile = tag.getCompound("subTile"); } @Override - @NotNull - public CompoundTag getUpdateTag() { - return writeNBTData(serializeNBT(), false); + public CompoundTag getUpdateTag(HolderLookup.Provider provider) { + return writeNBTData(serializeAttachments(provider), false); } @Override - protected void saveAdditional(@NotNull CompoundTag nbt) { - super.saveAdditional(nbt); - writeNBTData(nbt, true); + protected void saveAdditional(CompoundTag tag, HolderLookup.Provider provider) { + super.saveAdditional(tag, provider); + writeNBTData(tag, true); } private CompoundTag writeNBTData(CompoundTag compound, boolean includeSubTile) { diff --git a/src/main/java/org/violetmoon/quark/addons/oddities/block/be/PipeBlockEntity.java b/src/main/java/org/violetmoon/quark/addons/oddities/block/be/PipeBlockEntity.java index f3667890b8..accec45e2a 100644 --- a/src/main/java/org/violetmoon/quark/addons/oddities/block/be/PipeBlockEntity.java +++ b/src/main/java/org/violetmoon/quark/addons/oddities/block/be/PipeBlockEntity.java @@ -3,6 +3,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; +import net.minecraft.core.HolderLookup; import net.minecraft.core.particles.DustParticleOptions; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; @@ -167,7 +168,7 @@ public Iterator getItemIterator() { } public boolean allowsFullConnection(PipeBlockEntity.ConnectionType conn) { - return blockState.getBlock() instanceof BasePipeBlock pipe && pipe.allowsFullConnection(conn); + return getBlockState().getBlock() instanceof BasePipeBlock pipe && pipe.allowsFullConnection(conn); } public boolean passIn(ItemStack stack, Direction face, Direction backlog, long seed, int time) { @@ -291,20 +292,20 @@ public Packet getUpdatePacket() { } @Override - public void readSharedNBT(CompoundTag cmp) { + public void readSharedNBT(CompoundTag tag, HolderLookup.Provider provider) { skipSync = true; - super.readSharedNBT(cmp); + super.readSharedNBT(tag, provider); skipSync = false; - ListTag pipeItemList = cmp.getList(TAG_PIPE_ITEMS, cmp.getId()); + ListTag pipeItemList = tag.getList(TAG_PIPE_ITEMS, tag.getId()); pipeItems.clear(); pipeItemList.forEach(listCmp -> { - PipeItem item = PipeItem.readFromNBT((CompoundTag) listCmp); + PipeItem item = PipeItem.readFromNBT((CompoundTag) listCmp, provider); pipeItems.add(item); }); - if(cmp.contains(TAG_CONNECTIONS)) { - var c = cmp.getByteArray(TAG_CONNECTIONS); + if(tag.contains(TAG_CONNECTIONS)) { + var c = tag.getByteArray(TAG_CONNECTIONS); for(int i = 0; i < c.length; i++) { connectionsCache[i] = ConnectionType.values()[c[i]]; } @@ -312,16 +313,16 @@ public void readSharedNBT(CompoundTag cmp) { } @Override - public void writeSharedNBT(CompoundTag cmp) { - super.writeSharedNBT(cmp); + public void writeSharedNBT(CompoundTag tag, HolderLookup.Provider provider) { + super.writeSharedNBT(tag, provider); ListTag pipeItemList = new ListTag(); for(PipeItem item : pipeItems) { CompoundTag listCmp = new CompoundTag(); - item.writeToNBT(listCmp); + item.writeToNBT(listCmp, provider); pipeItemList.add(listCmp); } - cmp.put(TAG_PIPE_ITEMS, pipeItemList); + tag.put(TAG_PIPE_ITEMS, pipeItemList); for(int i = 0; i < connectionsCache.length; i++) { if(connectionsCache[i] == null) { @@ -329,7 +330,7 @@ public void writeSharedNBT(CompoundTag cmp) { this.convert = true; } } - cmp.putByteArray(TAG_CONNECTIONS, (Arrays.stream(connectionsCache).map(c -> (byte) c.ordinal()).toList())); + tag.putByteArray(TAG_CONNECTIONS, (Arrays.stream(connectionsCache).map(c -> (byte) c.ordinal()).toList())); } protected boolean canFit(ItemStack stack, BlockPos pos, Direction face) { @@ -533,8 +534,8 @@ public float getTimeFract(float partial) { return (ticksInPipe + partial) / PipesModule.effectivePipeSpeed; } - public void writeToNBT(CompoundTag cmp) { - stack.save(cmp); + public void writeToNBT(CompoundTag cmp, HolderLookup.Provider provider) { + stack.save(provider, cmp); cmp.putInt(TAG_TICKS, ticksInPipe); cmp.putInt(TAG_INCOMING, incomingFace.ordinal()); cmp.putInt(TAG_OUTGOING, outgoingFace.ordinal()); @@ -543,8 +544,8 @@ public void writeToNBT(CompoundTag cmp) { cmp.putInt(TAG_TIME_IN_WORLD, timeInWorld); } - public static PipeItem readFromNBT(CompoundTag cmp) { - ItemStack stack = ItemStack.of(cmp); + public static PipeItem readFromNBT(CompoundTag cmp, HolderLookup.Provider provider) { + ItemStack stack = ItemStack.parseOptional(provider, cmp); Direction inFace = Direction.values()[cmp.getInt(TAG_INCOMING)]; long rngSeed = cmp.getLong(TAG_RNG_SEED); @@ -587,7 +588,5 @@ public double getFlareShift(PipeBlockEntity pipe) { public final boolean isSolid, allowsItems, isFlared; private final double flareShift, fullFlareShift; - } - } diff --git a/src/main/java/org/violetmoon/quark/addons/oddities/block/be/TinyPotatoBlockEntity.java b/src/main/java/org/violetmoon/quark/addons/oddities/block/be/TinyPotatoBlockEntity.java index c3603545db..2f2fa16170 100644 --- a/src/main/java/org/violetmoon/quark/addons/oddities/block/be/TinyPotatoBlockEntity.java +++ b/src/main/java/org/violetmoon/quark/addons/oddities/block/be/TinyPotatoBlockEntity.java @@ -1,19 +1,9 @@ package org.violetmoon.quark.addons.oddities.block.be; -import java.util.HashMap; -import java.util.Map; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.violetmoon.quark.addons.oddities.block.TinyPotatoBlock; -import org.violetmoon.quark.addons.oddities.module.TinyPotatoModule; -import org.violetmoon.quark.addons.oddities.util.TinyPotatoInfo; -import org.violetmoon.quark.base.handler.QuarkSounds; -import org.violetmoon.zeta.util.MiscUtil; -import org.violetmoon.zeta.util.SimpleInventoryBlockEntity; - import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; +import net.minecraft.core.component.DataComponents; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.network.protocol.Packet; @@ -28,8 +18,20 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.violetmoon.quark.addons.oddities.block.TinyPotatoBlock; +import org.violetmoon.quark.addons.oddities.module.TinyPotatoModule; +import org.violetmoon.quark.addons.oddities.util.TinyPotatoInfo; +import org.violetmoon.quark.base.handler.QuarkSounds; +import org.violetmoon.zeta.util.MiscUtil; +import org.violetmoon.zeta.util.SimpleInventoryBlockEntity; + +import java.util.HashMap; +import java.util.Map; public class TinyPotatoBlockEntity extends SimpleInventoryBlockEntity implements Nameable { + public static final String TAG_NAME = "name"; public static final String TAG_ANGRY = TinyPotatoBlock.ANGRY; private static final int JUMP_EVENT = 0; @@ -133,7 +135,7 @@ public void interact(Player player, InteractionHand hand, ItemStack stack, Direc } if(!tater.isEmpty()) { String taterGender = manyTater ? "children" : "son"; - if(tater.hasCustomHoverName() && !manyTater) { + if(tater.getComponents().has(DataComponents.CUSTOM_NAME) && !manyTater) { TinyPotatoInfo info = TinyPotatoInfo.fromComponent(tater.getHoverName()); taterGender = GENDER.getOrDefault(info.name(), taterGender); } @@ -198,17 +200,17 @@ public Packet getUpdatePacket() { } @Override - public void readSharedNBT(CompoundTag cmp) { - super.readSharedNBT(cmp); - name = Component.Serializer.fromJson(cmp.getString(TAG_NAME)); - angry = cmp.getBoolean(TAG_ANGRY); + public void readSharedNBT(CompoundTag tag, HolderLookup.Provider provider) { + super.readSharedNBT(tag, provider); + name = Component.Serializer.fromJson(tag.getString(TAG_NAME), provider); + angry = tag.getBoolean(TAG_ANGRY); } @Override - public void writeSharedNBT(CompoundTag cmp) { - super.writeSharedNBT(cmp); - cmp.putString(TAG_NAME, Component.Serializer.toJson(name)); - cmp.putBoolean(TAG_ANGRY, angry); + public void writeSharedNBT(CompoundTag tag, HolderLookup.Provider provider) { + super.writeSharedNBT(tag, provider); + tag.putString(TAG_NAME, Component.Serializer.toJson(name, provider)); + tag.putBoolean(TAG_ANGRY, angry); } @Override @@ -226,6 +228,16 @@ public boolean canPlaceItem(int slot, @NotNull ItemStack itemstack) { return this.getItem(slot).isEmpty(); } + @Override + public void startOpen(@NotNull Player player) { + + } + + @Override + public void stopOpen(@NotNull Player player) { + + } + @NotNull @Override public Component getName() { diff --git a/src/main/java/org/violetmoon/quark/addons/oddities/block/pipe/BasePipeBlock.java b/src/main/java/org/violetmoon/quark/addons/oddities/block/pipe/BasePipeBlock.java index 893d3cde27..afebb9e5d7 100644 --- a/src/main/java/org/violetmoon/quark/addons/oddities/block/pipe/BasePipeBlock.java +++ b/src/main/java/org/violetmoon/quark/addons/oddities/block/pipe/BasePipeBlock.java @@ -3,7 +3,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.CreativeModeTabs; @@ -92,8 +92,7 @@ public boolean allowsFullConnection(PipeBlockEntity.ConnectionType conn) { } @Override - public InteractionResult use(BlockState state, Level worldIn, BlockPos pos, Player player, InteractionHand handIn, BlockHitResult hit) { - ItemStack stack = player.getItemInHand(handIn); + public ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level worldIn, BlockPos pos, Player player, InteractionHand handIn, BlockHitResult hit) { // fix pipes if they're ruined if(stack.getItem() == Items.STICK) { @@ -127,10 +126,10 @@ public InteractionResult use(BlockState state, Level worldIn, BlockPos pos, Play } while(!candidates.isEmpty()); if(fixedAny) - return InteractionResult.sidedSuccess(worldIn.isClientSide); + return ItemInteractionResult.sidedSuccess(worldIn.isClientSide); } - return super.use(state, worldIn, pos, player, handIn, hit); + return super.useItemOn(stack, state, worldIn, pos, player, handIn, hit); } @SuppressWarnings("deprecation") //Don't need the Forge extension diff --git a/src/main/java/org/violetmoon/quark/addons/oddities/block/pipe/CopperPipeBlock.java b/src/main/java/org/violetmoon/quark/addons/oddities/block/pipe/CopperPipeBlock.java index e934ecd58a..d8b6a163cc 100644 --- a/src/main/java/org/violetmoon/quark/addons/oddities/block/pipe/CopperPipeBlock.java +++ b/src/main/java/org/violetmoon/quark/addons/oddities/block/pipe/CopperPipeBlock.java @@ -1,19 +1,12 @@ package org.violetmoon.quark.addons.oddities.block.pipe; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.violetmoon.quark.addons.oddities.block.be.PipeBlockEntity; -import org.violetmoon.quark.addons.oddities.module.PipesModule; -import org.violetmoon.zeta.module.ZetaModule; -import org.violetmoon.zeta.util.MiscUtil; - import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; +import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; @@ -35,11 +28,16 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.violetmoon.quark.addons.oddities.block.be.PipeBlockEntity; +import org.violetmoon.quark.addons.oddities.module.PipesModule; +import org.violetmoon.zeta.module.ZetaModule; +import org.violetmoon.zeta.util.MiscUtil; public class CopperPipeBlock extends BasePipeBlock implements SimpleWaterloggedBlock { private static final VoxelShape CENTER_SHAPE = Shapes.box(0.3125, 0.3125, 0.3125, 0.6875, 0.6875, 0.6875); - private static final VoxelShape DOWN_SHAPE = Shapes.box(0.3125, 0, 0.3125, 0.6875, 0.6875, 0.6875); private static final VoxelShape UP_SHAPE = Shapes.box(0.3125, 0.3125, 0.3125, 0.6875, 1, 0.6875); private static final VoxelShape NORTH_SHAPE = Shapes.box(0.3125, 0.3125, 0, 0.6875, 0.6875, 0.6875); @@ -60,12 +58,13 @@ public CopperPipeBlock(@Nullable ZetaModule module) { } // Convert to encased + + @Override - public InteractionResult use(BlockState state, Level worldIn, BlockPos pos, Player player, InteractionHand handIn, BlockHitResult hit) { - ItemStack stack = player.getItemInHand(handIn); + public ItemInteractionResult useItemOn(ItemStack stack, BlockState state, Level worldIn, BlockPos pos, Player player, InteractionHand handIn, BlockHitResult hit) { if(stack.is(Items.GLASS) && PipesModule.enableEncasedPipes) { if(worldIn.getBlockEntity(pos) instanceof PipeBlockEntity be) { - CompoundTag cmp = be.saveWithoutMetadata(); + CompoundTag cmp = be.saveWithoutMetadata(worldIn.registryAccess()); if(!worldIn.isClientSide) { worldIn.removeBlockEntity(pos); @@ -74,7 +73,7 @@ public InteractionResult use(BlockState state, Level worldIn, BlockPos pos, Play worldIn.updateNeighborsAt(pos, PipesModule.encasedPipe); BlockEntity newBe = worldIn.getBlockEntity(pos); - if(newBe != null) newBe.load(cmp); + if(newBe != null) newBe.loadWithComponents(cmp, worldIn.registryAccess()); } SoundType type = Blocks.GLASS.defaultBlockState().getSoundType(worldIn, pos, player); @@ -85,10 +84,9 @@ public InteractionResult use(BlockState state, Level worldIn, BlockPos pos, Play stack.shrink(1); } } - return InteractionResult.sidedSuccess(worldIn.isClientSide); + return ItemInteractionResult.sidedSuccess(worldIn.isClientSide); } - - return super.use(state, worldIn, pos, player, handIn, hit); + return super.useItemOn(stack, state, worldIn, pos, player, handIn, hit); } @Override @@ -150,8 +148,6 @@ public VoxelShape getShape(@NotNull BlockState state, @NotNull BlockGetter world SHAPE_CACHE[index] = currShape; cached = currShape; } - return cached; } - } diff --git a/src/main/java/org/violetmoon/quark/addons/oddities/client/model/TinyPotatoModel.java b/src/main/java/org/violetmoon/quark/addons/oddities/client/model/TinyPotatoModel.java index 60d148d894..97f3192094 100644 --- a/src/main/java/org/violetmoon/quark/addons/oddities/client/model/TinyPotatoModel.java +++ b/src/main/java/org/violetmoon/quark/addons/oddities/client/model/TinyPotatoModel.java @@ -7,14 +7,13 @@ import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.core.Direction; +import net.minecraft.core.component.DataComponents; import net.minecraft.util.RandomSource; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.state.BlockState; - import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; - import org.violetmoon.quark.addons.oddities.block.TinyPotatoBlock; import org.violetmoon.quark.addons.oddities.client.render.be.TinyPotatoRenderer; @@ -66,7 +65,7 @@ public ItemOverrides getOverrides() { return new ItemOverrides() { @Override public BakedModel resolve(@NotNull BakedModel model, @NotNull ItemStack stack, @Nullable ClientLevel world, @Nullable LivingEntity livingEntity, int seed) { - if(stack.hasCustomHoverName() || TinyPotatoBlock.isAngry(stack)) { + if (stack.getComponents().has(DataComponents.CUSTOM_NAME) || TinyPotatoBlock.isAngry(stack)) { return TinyPotatoRenderer.getModelFromDisplayName(stack.getHoverName(), TinyPotatoBlock.isAngry(stack)); } return originalModel; diff --git a/src/main/java/org/violetmoon/quark/addons/oddities/client/particle/MagnetParticle.java b/src/main/java/org/violetmoon/quark/addons/oddities/client/particle/MagnetParticle.java index 8ef014ac78..7b4409cfc5 100644 --- a/src/main/java/org/violetmoon/quark/addons/oddities/client/particle/MagnetParticle.java +++ b/src/main/java/org/violetmoon/quark/addons/oddities/client/particle/MagnetParticle.java @@ -5,7 +5,6 @@ import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.client.particle.*; import net.minecraft.core.BlockPos; -import net.minecraft.core.particles.ParticleGroup; import net.minecraft.core.particles.SimpleParticleType; import net.minecraft.util.Mth; import net.minecraft.world.entity.Entity; @@ -13,10 +12,8 @@ import org.joml.Quaternionf; import org.joml.Vector3f; import org.violetmoon.quark.addons.oddities.block.MagnetBlock; -import org.violetmoon.quark.addons.oddities.module.MagnetsModule; import java.util.List; -import java.util.Optional; public class MagnetParticle extends TextureSheetParticle { @@ -90,10 +87,10 @@ public void render(VertexConsumer pBuffer, Camera pRenderInfo, float pPartialTic float f5 = this.getV1(); float al = Mth.lerp(pPartialTicks, this.alphaO, this.alpha); int j = this.getLightColor(pPartialTicks); - pBuffer.vertex(avector3f[0].x(), avector3f[0].y(), avector3f[0].z()).uv(f7, f5).color(this.rCol, this.gCol, this.bCol, al).uv2(j).endVertex(); - pBuffer.vertex(avector3f[1].x(), avector3f[1].y(), avector3f[1].z()).uv(f7, f4).color(this.rCol, this.gCol, this.bCol, al).uv2(j).endVertex(); - pBuffer.vertex(avector3f[2].x(), avector3f[2].y(), avector3f[2].z()).uv(f6, f4).color(this.rCol, this.gCol, this.bCol, al).uv2(j).endVertex(); - pBuffer.vertex(avector3f[3].x(), avector3f[3].y(), avector3f[3].z()).uv(f6, f5).color(this.rCol, this.gCol, this.bCol, al).uv2(j).endVertex(); + pBuffer.addVertex(avector3f[0].x(), avector3f[0].y(), avector3f[0].z()).setUv(f7, f5).setColor(this.rCol, this.gCol, this.bCol, al).setLight(j); + pBuffer.addVertex(avector3f[1].x(), avector3f[1].y(), avector3f[1].z()).setUv(f7, f4).setColor(this.rCol, this.gCol, this.bCol, al).setLight(j); + pBuffer.addVertex(avector3f[2].x(), avector3f[2].y(), avector3f[2].z()).setUv(f6, f4).setColor(this.rCol, this.gCol, this.bCol, al).setLight(j); + pBuffer.addVertex(avector3f[3].x(), avector3f[3].y(), avector3f[3].z()).setUv(f6, f5).setColor(this.rCol, this.gCol, this.bCol, al).setLight(j); } @Override diff --git a/src/main/java/org/violetmoon/quark/addons/oddities/client/render/be/MatrixEnchantingTableRenderer.java b/src/main/java/org/violetmoon/quark/addons/oddities/client/render/be/MatrixEnchantingTableRenderer.java index 39f403669c..f5dcf402cd 100644 --- a/src/main/java/org/violetmoon/quark/addons/oddities/client/render/be/MatrixEnchantingTableRenderer.java +++ b/src/main/java/org/violetmoon/quark/addons/oddities/client/render/be/MatrixEnchantingTableRenderer.java @@ -3,7 +3,6 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.math.Axis; - import net.minecraft.client.Minecraft; import net.minecraft.client.model.BookModel; import net.minecraft.client.model.geom.ModelLayers; @@ -18,9 +17,7 @@ import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; - import org.jetbrains.annotations.NotNull; - import org.violetmoon.quark.addons.oddities.block.be.MatrixEnchantingTableBlockEntity; public class MatrixEnchantingTableRenderer implements BlockEntityRenderer { @@ -99,8 +96,7 @@ private void renderBook(MatrixEnchantingTableBlockEntity tileEntityIn, float tim float f6 = Mth.lerp(partialTicks, tileEntityIn.bookSpreadPrev, tileEntityIn.bookSpread); this.modelBook.setupAnim(f, Mth.clamp(f4, 0.0F, 1.0F), Mth.clamp(f5, 0.0F, 1.0F), f6); VertexConsumer ivertexbuilder = TEXTURE_BOOK.buffer(bufferIn, RenderType::entitySolid); - this.modelBook.renderToBuffer(matrixStackIn, ivertexbuilder, combinedLightIn, combinedOverlayIn, 1.0F, 1.0F, 1.0F, 1.0F); + this.modelBook.renderToBuffer(matrixStackIn, ivertexbuilder, combinedLightIn, combinedOverlayIn, 1); matrixStackIn.popPose(); } - } diff --git a/src/main/java/org/violetmoon/quark/addons/oddities/client/render/be/TinyPotatoRenderer.java b/src/main/java/org/violetmoon/quark/addons/oddities/client/render/be/TinyPotatoRenderer.java index aa63ecbc5c..d6ed3dd567 100644 --- a/src/main/java/org/violetmoon/quark/addons/oddities/client/render/be/TinyPotatoRenderer.java +++ b/src/main/java/org/violetmoon/quark/addons/oddities/client/render/be/TinyPotatoRenderer.java @@ -15,6 +15,7 @@ import net.minecraft.client.resources.model.ModelManager; import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; +import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.BlockItem; @@ -250,7 +251,7 @@ private void renderItems(TinyPotatoBlockEntity potato, Direction facing, PoseSta case WEST -> { if(mySon) { ms.translate(0.95F, -0.29F, 0.9F); - if(stack.hasCustomHoverName()) { + if(stack.getComponents().has(DataComponents.CUSTOM_NAME)) { TinyPotatoInfo info = TinyPotatoInfo.fromComponent(stack.getHoverName()); if(info.name().equals("kingdaddydmac")) { ms.translate(0.55F, 0, 0); diff --git a/src/main/java/org/violetmoon/quark/addons/oddities/client/screen/CrateScreen.java b/src/main/java/org/violetmoon/quark/addons/oddities/client/screen/CrateScreen.java index 82301362b5..08f8e43382 100644 --- a/src/main/java/org/violetmoon/quark/addons/oddities/client/screen/CrateScreen.java +++ b/src/main/java/org/violetmoon/quark/addons/oddities/client/screen/CrateScreen.java @@ -1,7 +1,14 @@ package org.violetmoon.quark.addons.oddities.client.screen; -import java.util.List; - +import com.google.common.collect.Lists; +import com.mojang.blaze3d.systems.RenderSystem; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; +import net.minecraft.client.renderer.GameRenderer; +import net.minecraft.client.renderer.Rect2i; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.player.Inventory; import org.jetbrains.annotations.NotNull; import org.violetmoon.quark.addons.oddities.inventory.CrateMenu; import org.violetmoon.quark.addons.oddities.module.CrateModule; @@ -12,16 +19,7 @@ import org.violetmoon.quark.base.client.handler.InventoryButtonHandler.ButtonTargetType; import org.violetmoon.quark.content.client.module.ChestSearchingModule; -import com.google.common.collect.Lists; -import com.mojang.blaze3d.systems.RenderSystem; - -import net.minecraft.client.gui.GuiGraphics; -import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; -import net.minecraft.client.renderer.GameRenderer; -import net.minecraft.client.renderer.Rect2i; -import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.entity.player.Inventory; +import java.util.List; public class CrateScreen extends AbstractContainerScreen implements IQuarkButtonAllowed { private static final ResourceLocation TEXTURE = Quark.asResource("textures/gui/crate.png"); @@ -55,7 +53,7 @@ public List getExtraAreas() { @Override public void render(@NotNull GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTicks) { - renderBackground(guiGraphics); + renderBackground(guiGraphics, mouseX, mouseY, partialTicks); super.render(guiGraphics, mouseX, mouseY, partialTicks); renderTooltip(guiGraphics, mouseX, mouseY); } @@ -65,14 +63,13 @@ private boolean canScroll() { } private float getPxPerScroll() { - return 95F / (menu.getStackCount() / CrateMenu.numCols); + return 95F / ((float) menu.getStackCount() / CrateMenu.numCols); } @Override - public boolean mouseScrolled(double mouseX, double mouseY, double delta) { - menu.scroll(delta < 0, true); - lastScroll = scrollOffs = Math.round((menu.scroll / CrateMenu.numCols) * getPxPerScroll()); - + public boolean mouseScrolled(double mouseX, double mouseY, double scrollX, double scrollY) { // TODO: Fix later, likely incorrect + menu.scroll(scrollY < 0, true); + lastScroll = scrollOffs = Math.round(((float) menu.scroll / CrateMenu.numCols) * getPxPerScroll()); return true; } @@ -116,7 +113,7 @@ else if(relative > 95) boolean up = diff > 0; menu.scroll(up, true); - lastScroll = Math.round((menu.scroll / CrateMenu.numCols) * pixelsNeeded); + lastScroll = Math.round(((float) menu.scroll / CrateMenu.numCols) * pixelsNeeded); diff = (float) (scrollOffs - lastScroll); } diff --git a/src/main/java/org/violetmoon/quark/addons/oddities/client/screen/MatrixEnchantingPieceList.java b/src/main/java/org/violetmoon/quark/addons/oddities/client/screen/MatrixEnchantingPieceList.java index 10301f87e3..4c50db5ab2 100644 --- a/src/main/java/org/violetmoon/quark/addons/oddities/client/screen/MatrixEnchantingPieceList.java +++ b/src/main/java/org/violetmoon/quark/addons/oddities/client/screen/MatrixEnchantingPieceList.java @@ -3,15 +3,12 @@ import com.mojang.blaze3d.platform.Window; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; - import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.components.ObjectSelectionList; import net.minecraft.client.renderer.GameRenderer; import net.minecraft.network.chat.Component; import net.minecraft.util.Mth; - import org.jetbrains.annotations.NotNull; - import org.violetmoon.quark.addons.oddities.inventory.EnchantmentMatrix.Piece; public class MatrixEnchantingPieceList extends ObjectSelectionList { @@ -56,9 +53,8 @@ public void render(@NotNull GuiGraphics guiGraphics, int mouseX, int mouseY, flo Window main = parent.getMinecraft().getWindow(); int res = (int) main.getGuiScale(); RenderSystem.enableScissor(getLeft() * res, (main.getGuiScaledHeight() - getBottom()) * res, getWidth() * res, getHeight() * res); - renderList(guiGraphics, mouseX, mouseY, partialTicks); + renderListItems(guiGraphics, mouseX, mouseY, partialTicks); RenderSystem.disableScissor(); - renderScroll(guiGraphics, i, j); } diff --git a/src/main/java/org/violetmoon/quark/addons/oddities/inventory/slot/BackpackSlot.java b/src/main/java/org/violetmoon/quark/addons/oddities/inventory/slot/BackpackSlot.java index e6fadf3800..a5ffda8e78 100644 --- a/src/main/java/org/violetmoon/quark/addons/oddities/inventory/slot/BackpackSlot.java +++ b/src/main/java/org/violetmoon/quark/addons/oddities/inventory/slot/BackpackSlot.java @@ -1,10 +1,8 @@ package org.violetmoon.quark.addons.oddities.inventory.slot; import net.minecraft.world.item.ItemStack; -import net.minecraftforge.items.IItemHandler; - +import net.neoforged.neoforge.items.IItemHandler; import org.jetbrains.annotations.NotNull; - import org.violetmoon.quark.addons.oddities.module.BackpackModule; public class BackpackSlot extends CachedItemHandlerSlot { diff --git a/src/main/java/org/violetmoon/quark/addons/oddities/inventory/slot/CachedItemHandlerSlot.java b/src/main/java/org/violetmoon/quark/addons/oddities/inventory/slot/CachedItemHandlerSlot.java index 7690351440..9267cfb0e5 100644 --- a/src/main/java/org/violetmoon/quark/addons/oddities/inventory/slot/CachedItemHandlerSlot.java +++ b/src/main/java/org/violetmoon/quark/addons/oddities/inventory/slot/CachedItemHandlerSlot.java @@ -3,9 +3,8 @@ import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.Slot; import net.minecraft.world.item.ItemStack; -import net.minecraftforge.items.IItemHandler; -import net.minecraftforge.items.SlotItemHandler; - +import net.neoforged.neoforge.items.IItemHandler; +import net.neoforged.neoforge.items.SlotItemHandler; import org.jetbrains.annotations.NotNull; public class CachedItemHandlerSlot extends SlotItemHandler { diff --git a/src/main/java/org/violetmoon/quark/base/config/definition/ConvulsionMatrixClientDefinition.java b/src/main/java/org/violetmoon/quark/base/config/definition/ConvulsionMatrixClientDefinition.java index 1551c21948..461ebb5fc8 100644 --- a/src/main/java/org/violetmoon/quark/base/config/definition/ConvulsionMatrixClientDefinition.java +++ b/src/main/java/org/violetmoon/quark/base/config/definition/ConvulsionMatrixClientDefinition.java @@ -12,7 +12,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; -import net.minecraftforge.client.gui.widget.ForgeSlider; +import net.neoforged.neoforge.client.gui.widget.ExtendedSlider; import org.jetbrains.annotations.NotNull; import org.violetmoon.quark.base.config.type.ConvulsionMatrixConfig; import org.violetmoon.zeta.client.ZetaClient; @@ -67,7 +67,7 @@ public void addWidgets(ZetaClient zc, Screen parent, ChangeSet changes, SectionD } class ConvulsionMatrixInputScreen extends AbstractSectionInputScreen { - ForgeSlider[] sliders = new ForgeSlider[9]; + ExtendedSlider[] sliders = new ExtendedSlider[9]; public ConvulsionMatrixInputScreen(ZetaClient zc, Screen parent, ChangeSet changes, SectionDefinition def) { super(zc, parent, changes, def); @@ -119,8 +119,8 @@ protected void forceUpdateWidgets() { private static final Component EMPTY = Component.empty(); - private ForgeSlider makeSliderPlease(int x, int y, int width, int height, ValueDefinition> binding, int bindingIndex) { - return new ForgeSlider(x, y, width, height, EMPTY, EMPTY, 0d, 2d, 0d, 0, 1, false) { + private ExtendedSlider makeSliderPlease(int x, int y, int width, int height, ValueDefinition> binding, int bindingIndex) { + return new ExtendedSlider(x, y, width, height, EMPTY, EMPTY, 0d, 2d, 0d, 0, 1, false) { @Override public void setValue(double value) { super.setValue(value); @@ -133,10 +133,9 @@ protected void applyValue() { } @Override - public void render(@NotNull GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTicks) { + public void renderWidget(@NotNull GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTicks) { Minecraft mc = Minecraft.getInstance(); - - super.render(guiGraphics, mouseX, mouseY, partialTicks); + super.renderWidget(guiGraphics, mouseX, mouseY, partialTicks); String displayVal = String.format("%.2f", getValue()); int valueColor = changes.isDirty(binding) ? ChatFormatting.GOLD.getColor() : 0xFFFFFF; @@ -153,8 +152,7 @@ public void tick() { @Override public void render(@NotNull GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTicks) { PoseStack mstack = guiGraphics.pose(); - - renderBackground(guiGraphics); + renderBackground(guiGraphics, mouseX, mouseY, partialTicks); super.render(guiGraphics, mouseX, mouseY, partialTicks); @@ -169,19 +167,19 @@ public void render(@NotNull GuiGraphics guiGraphics, int mouseX, int mouseY, flo //copied from the original int sliders = 0; for (Renderable renderable : renderables) { - if (renderable instanceof ForgeSlider s) { + if (renderable instanceof ExtendedSlider slider) { switch (sliders) { case 0 -> { - guiGraphics.drawString(font, "R =", s.getX() - 20, s.getY() + 5, 0xFF0000); - guiGraphics.drawString(font, "R", s.getX() + (s.getWidth() / 2 - 2), s.getY() - 12, 0xFF0000); + guiGraphics.drawString(font, "R =", slider.getX() - 20, slider.getY() + 5, 0xFF0000); + guiGraphics.drawString(font, "R", slider.getX() + (slider.getWidth() / 2 - 2), slider.getY() - 12, 0xFF0000); } - case 1 -> guiGraphics.drawString(font, "G", s.getX() + (s.getWidth() / 2 - 2), s.getY() - 12, 0x00FF00); - case 2 -> guiGraphics.drawString(font, "B", s.getX() + (s.getWidth() / 2 - 2), s.getY() - 12, 0x0077FF); - case 3 -> guiGraphics.drawString(font, "G =", s.getX() - 20, s.getY() + 5, 0x00FF00); - case 6 -> guiGraphics.drawString(font, "B =", s.getX() - 20, s.getY() + 5, 0x0077FF); + case 1 -> guiGraphics.drawString(font, "G", slider.getX() + (slider.getWidth() / 2 - 2), slider.getY() - 12, 0x00FF00); + case 2 -> guiGraphics.drawString(font, "B", slider.getX() + (slider.getWidth() / 2 - 2), slider.getY() - 12, 0x0077FF); + case 3 -> guiGraphics.drawString(font, "G =", slider.getX() - 20, slider.getY() + 5, 0x00FF00); + case 6 -> guiGraphics.drawString(font, "B =", slider.getX() - 20, slider.getY() + 5, 0x0077FF); } if ((sliders % 3) != 0) - guiGraphics.drawString(font, "+", s.getX() - 9, s.getY() + 5, 0xFFFFFF); + guiGraphics.drawString(font, "+", slider.getX() - 9, slider.getY() + 5, 0xFFFFFF); sliders++; } @@ -248,17 +246,17 @@ protected double[] getToDoubleArray() { return values; } - private double snap(ForgeSlider s) { - double val = s.getValue(); - val = snap(val, 0.5, s); - val = snap(val, 1.0, s); - val = snap(val, 1.5, s); + private double snap(ExtendedSlider slider) { + double val = slider.getValue(); + val = snap(val, 0.5, slider); + val = snap(val, 1.0, slider); + val = snap(val, 1.5, slider); return val; } - private double snap(double val, double correct, ForgeSlider s) { + private double snap(double val, double correct, ExtendedSlider slider) { if(Math.abs(val - correct) < 0.02) { - s.setValue(correct); + slider.setValue(correct); return correct; } return val; diff --git a/src/main/java/org/violetmoon/quark/base/handler/ProxiedItemStackHandler.java b/src/main/java/org/violetmoon/quark/base/handler/ProxiedItemStackHandler.java index 7af44ee8b6..c6eb040edb 100644 --- a/src/main/java/org/violetmoon/quark/base/handler/ProxiedItemStackHandler.java +++ b/src/main/java/org/violetmoon/quark/base/handler/ProxiedItemStackHandler.java @@ -6,15 +6,13 @@ import net.minecraft.world.item.ItemStack; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.ForgeCapabilities; -import net.minecraftforge.common.capabilities.ICapabilityProvider; import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.items.IItemHandler; -import net.minecraftforge.items.IItemHandlerModifiable; -import net.minecraftforge.items.ItemHandlerHelper; - +import net.neoforged.neoforge.capabilities.ICapabilityProvider; +import net.neoforged.neoforge.items.IItemHandler; +import net.neoforged.neoforge.items.IItemHandlerModifiable; +import net.neoforged.neoforge.items.ItemHandlerHelper; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; - import org.violetmoon.zeta.util.ItemNBTHelper; /** diff --git a/src/main/java/org/violetmoon/quark/base/handler/WoodSetHandler.java b/src/main/java/org/violetmoon/quark/base/handler/WoodSetHandler.java index a28f861c93..9921a0db0f 100644 --- a/src/main/java/org/violetmoon/quark/base/handler/WoodSetHandler.java +++ b/src/main/java/org/violetmoon/quark/base/handler/WoodSetHandler.java @@ -1,13 +1,20 @@ package org.violetmoon.quark.base.handler; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.stream.Stream; - +import com.google.common.collect.ImmutableSet; +import net.minecraft.client.renderer.Sheets; +import net.minecraft.client.renderer.entity.EntityRenderers; +import net.minecraft.core.Direction; +import net.minecraft.core.dispenser.DispenseItemBehavior; +import net.minecraft.core.registries.Registries; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.MobCategory; +import net.minecraft.world.item.CreativeModeTabs; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.properties.BlockSetType; +import net.minecraft.world.level.block.state.properties.WoodType; +import net.minecraft.world.level.material.MapColor; import net.neoforged.neoforge.common.ItemAbilities; import org.violetmoon.quark.base.Quark; import org.violetmoon.quark.base.client.render.QuarkBoatRenderer; @@ -19,26 +26,8 @@ import org.violetmoon.quark.content.building.block.VariantBookshelfBlock; import org.violetmoon.quark.content.building.block.VariantLadderBlock; import org.violetmoon.quark.content.building.block.WoodPostBlock; -import org.violetmoon.quark.content.building.module.HollowLogsModule; -import org.violetmoon.quark.content.building.module.VariantBookshelvesModule; -import org.violetmoon.quark.content.building.module.VariantChestsModule; -import org.violetmoon.quark.content.building.module.VariantLaddersModule; -import org.violetmoon.quark.content.building.module.VerticalPlanksModule; -import org.violetmoon.quark.content.building.module.WoodenPostsModule; -import org.violetmoon.zeta.block.IZetaBlock; -import org.violetmoon.zeta.block.OldMaterials; -import org.violetmoon.zeta.block.ZetaBlock; -import org.violetmoon.zeta.block.ZetaCeilingHangingSignBlock; -import org.violetmoon.zeta.block.ZetaDoorBlock; -import org.violetmoon.zeta.block.ZetaFenceBlock; -import org.violetmoon.zeta.block.ZetaFenceGateBlock; -import org.violetmoon.zeta.block.ZetaPillarBlock; -import org.violetmoon.zeta.block.ZetaPressurePlateBlock; -import org.violetmoon.zeta.block.ZetaStandingSignBlock; -import org.violetmoon.zeta.block.ZetaTrapdoorBlock; -import org.violetmoon.zeta.block.ZetaWallHangingSignBlock; -import org.violetmoon.zeta.block.ZetaWallSignBlock; -import org.violetmoon.zeta.block.ZetaWoodenButtonBlock; +import org.violetmoon.quark.content.building.module.*; +import org.violetmoon.zeta.block.*; import org.violetmoon.zeta.client.event.load.ZClientSetup; import org.violetmoon.zeta.event.bus.LoadEvent; import org.violetmoon.zeta.event.load.ZCommonSetup; @@ -50,28 +39,8 @@ import org.violetmoon.zeta.util.BooleanSuppliers; import org.violetmoon.zeta.util.handler.ToolInteractionHandler; -import com.google.common.collect.ImmutableSet; - -import net.minecraft.client.renderer.Sheets; -import net.minecraft.client.renderer.entity.EntityRenderers; -import net.minecraft.core.Direction; -import net.minecraft.core.dispenser.DispenseItemBehavior; -import net.minecraft.core.registries.Registries; -import net.minecraft.world.entity.EntityType; -import net.minecraft.world.entity.MobCategory; -import net.minecraft.world.item.CreativeModeTabs; -import net.minecraft.world.item.Item; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.DispenserBlock; -import net.minecraft.world.level.block.PressurePlateBlock.Sensitivity; -import net.minecraft.world.level.block.RotatedPillarBlock; -import net.minecraft.world.level.block.SoundType; -import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraft.world.level.block.state.properties.BlockSetType; -import net.minecraft.world.level.block.state.properties.WoodType; -import net.minecraft.world.level.material.MapColor; -import net.minecraftforge.common.ToolActions; +import java.util.*; +import java.util.stream.Stream; public class WoodSetHandler { @@ -142,7 +111,7 @@ public static WoodSet addWoodSet(ZRegister event, ZetaModule module, String name set.door = new ZetaDoorBlock(setType, name + "_door", module, OldMaterials.wood().mapColor(color).strength(3.0F).sound(SoundType.WOOD).noOcclusion()); set.trapdoor = new ZetaTrapdoorBlock(setType, name + "_trapdoor", module, OldMaterials.wood().mapColor(color).strength(3.0F).sound(SoundType.WOOD).noOcclusion().isValidSpawn((s, g, p, e) -> false)); - set.pressurePlate = new ZetaPressurePlateBlock(Sensitivity.EVERYTHING, name + "_pressure_plate", module, OldMaterials.wood().mapColor(color).noCollission().strength(0.5F).sound(SoundType.WOOD), setType); + set.pressurePlate = new ZetaPressurePlateBlock(name + "_pressure_plate", module, setType, OldMaterials.wood().mapColor(color).noCollission().strength(0.5F).sound(SoundType.WOOD)); set.button = new ZetaWoodenButtonBlock(setType, name + "_button", module, OldMaterials.decoration().noCollission().strength(0.5F).sound(SoundType.WOOD)); CreativeTabManager.endDaisyChain(); diff --git a/src/main/java/org/violetmoon/quark/base/item/boat/QuarkBoatDispenseItemBehavior.java b/src/main/java/org/violetmoon/quark/base/item/boat/QuarkBoatDispenseItemBehavior.java index 48edadeb74..059d9f2fce 100644 --- a/src/main/java/org/violetmoon/quark/base/item/boat/QuarkBoatDispenseItemBehavior.java +++ b/src/main/java/org/violetmoon/quark/base/item/boat/QuarkBoatDispenseItemBehavior.java @@ -1,8 +1,8 @@ package org.violetmoon.quark.base.item.boat; import net.minecraft.core.BlockPos; -import net.minecraft.core.BlockSource; import net.minecraft.core.Direction; +import net.minecraft.core.dispenser.BlockSource; import net.minecraft.core.dispenser.DefaultDispenseItemBehavior; import net.minecraft.tags.FluidTags; import net.minecraft.world.entity.vehicle.Boat; @@ -10,9 +10,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.DispenserBlock; import net.minecraft.world.level.block.LevelEvent; - import org.jetbrains.annotations.NotNull; - import org.violetmoon.quark.base.handler.WoodSetHandler; // Pretty much just a copy of BoatDispenseItemBehavior but for the quark boat @@ -30,12 +28,12 @@ public QuarkBoatDispenseItemBehavior(String type, boolean chest) { @NotNull @Override public ItemStack execute(BlockSource world, @NotNull ItemStack stack) { - Direction direction = world.getBlockState().getValue(DispenserBlock.FACING); - Level level = world.getLevel(); - double boatX = world.x() + (double) ((float) direction.getStepX() * 1.125F); - double boatY = world.y() + (double) ((float) direction.getStepY() * 1.125F); - double boatZ = world.z() + (double) ((float) direction.getStepZ() * 1.125F); - BlockPos pos = world.getPos().relative(direction); + Direction direction = world.state().getValue(DispenserBlock.FACING); + Level level = world.level(); + double boatX = world.pos().getX() + (double) ((float) direction.getStepX() * 1.125F); + double boatY = world.pos().getY() + (double) ((float) direction.getStepY() * 1.125F); + double boatZ = world.pos().getZ() + (double) ((float) direction.getStepZ() * 1.125F); + BlockPos pos = world.pos().relative(direction); double offset; if(level.getFluidState(pos).is(FluidTags.WATER)) { offset = 1.0D; @@ -60,6 +58,6 @@ public ItemStack execute(BlockSource world, @NotNull ItemStack stack) { @Override protected void playSound(BlockSource world) { - world.getLevel().levelEvent(LevelEvent.SOUND_DISPENSER_DISPENSE, world.getPos(), 0); + world.level().levelEvent(LevelEvent.SOUND_DISPENSER_DISPENSE, world.pos(), 0); } } diff --git a/src/main/java/org/violetmoon/quark/base/network/message/DoEmoteMessage.java b/src/main/java/org/violetmoon/quark/base/network/message/DoEmoteMessage.java index 968b9b16db..ee75d24ffd 100644 --- a/src/main/java/org/violetmoon/quark/base/network/message/DoEmoteMessage.java +++ b/src/main/java/org/violetmoon/quark/base/network/message/DoEmoteMessage.java @@ -3,9 +3,8 @@ import net.minecraft.client.Minecraft; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; - +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import org.violetmoon.quark.content.tweaks.client.emote.EmoteHandler; import org.violetmoon.zeta.network.IZetaMessage; import org.violetmoon.zeta.network.IZetaNetworkEventContext; @@ -38,7 +37,6 @@ public boolean receive(IZetaNetworkEventContext context) { Player player = world.getPlayerByUUID(playerUUID); EmoteHandler.putEmote(player, emote, tier); }); - return true; } diff --git a/src/main/java/org/violetmoon/quark/base/util/InventoryIIH.java b/src/main/java/org/violetmoon/quark/base/util/InventoryIIH.java index c5cfcfc46a..ecd265cc76 100644 --- a/src/main/java/org/violetmoon/quark/base/util/InventoryIIH.java +++ b/src/main/java/org/violetmoon/quark/base/util/InventoryIIH.java @@ -3,9 +3,8 @@ import net.minecraft.world.item.ItemStack; import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.items.IItemHandler; -import net.minecraftforge.items.IItemHandlerModifiable; - +import net.neoforged.neoforge.items.IItemHandler; +import net.neoforged.neoforge.items.IItemHandlerModifiable; import org.jetbrains.annotations.NotNull; // formerly from AutoRegLib @@ -20,10 +19,7 @@ public InventoryIIH(ItemStack stack) { if(opt.isPresent()) { IItemHandler handler = opt.orElse(null); - if(handler instanceof IItemHandlerModifiable) - iih = (IItemHandlerModifiable) handler; - else - iih = null; + iih = handler instanceof IItemHandlerModifiable ? (IItemHandlerModifiable) handler : null; } else iih = null; diff --git a/src/main/java/org/violetmoon/quark/content/automation/block/RedstoneRandomizerBlock.java b/src/main/java/org/violetmoon/quark/content/automation/block/RedstoneRandomizerBlock.java index d76b036985..ae3851e486 100644 --- a/src/main/java/org/violetmoon/quark/content/automation/block/RedstoneRandomizerBlock.java +++ b/src/main/java/org/violetmoon/quark/content/automation/block/RedstoneRandomizerBlock.java @@ -23,11 +23,9 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.ticks.TickPriority; -import net.minecraftforge.event.ForgeEventFactory; - +import net.neoforged.neoforge.event.EventHooks; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; - import org.violetmoon.quark.content.automation.base.RandomizerPowerState; import org.violetmoon.zeta.block.ZetaBlock; import org.violetmoon.zeta.module.ZetaModule; @@ -185,7 +183,7 @@ public void onRemove(@NotNull BlockState state, @NotNull Level world, @NotNull B public static void notifyNeighbors(Block block, Level world, BlockPos pos, BlockState state) { Direction face = state.getValue(FACING); BlockPos neighborPos = pos.relative(face.getOpposite()); - if(ForgeEventFactory.onNeighborNotify(world, pos, world.getBlockState(pos), EnumSet.of(face.getOpposite()), false).isCanceled()) + if(EventHooks.onNeighborNotify(world, pos, world.getBlockState(pos), EnumSet.of(face.getOpposite()), false).isCanceled()) return; world.neighborChanged(neighborPos, block, pos); world.updateNeighborsAtExceptFromFacing(neighborPos, block, face); diff --git a/src/main/java/org/violetmoon/quark/content/automation/block/be/CrafterBlockEntity.java b/src/main/java/org/violetmoon/quark/content/automation/block/be/CrafterBlockEntity.java index 60207f4c08..eafffbad2d 100644 --- a/src/main/java/org/violetmoon/quark/content/automation/block/be/CrafterBlockEntity.java +++ b/src/main/java/org/violetmoon/quark/content/automation/block/be/CrafterBlockEntity.java @@ -27,21 +27,12 @@ package org.violetmoon.quark.content.automation.block.be; -import java.util.List; -import java.util.Optional; -import java.util.stream.IntStream; - -import org.violetmoon.quark.content.automation.block.CrafterBlock; -import org.violetmoon.quark.content.automation.inventory.CrafterMenu; -import org.violetmoon.quark.content.automation.module.CrafterModule; - import net.minecraft.core.BlockPos; -import net.minecraft.core.BlockSource; -import net.minecraft.core.BlockSourceImpl; import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; import net.minecraft.core.NonNullList; import net.minecraft.core.Position; +import net.minecraft.core.dispenser.BlockSource; import net.minecraft.core.dispenser.DispenseItemBehavior; import net.minecraft.nbt.ByteTag; import net.minecraft.nbt.CompoundTag; @@ -56,12 +47,7 @@ import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.StackedContents; -import net.minecraft.world.inventory.AbstractContainerMenu; -import net.minecraft.world.inventory.ContainerData; -import net.minecraft.world.inventory.ContainerLevelAccess; -import net.minecraft.world.inventory.CraftingContainer; -import net.minecraft.world.inventory.ResultContainer; -import net.minecraft.world.inventory.TransientCraftingContainer; +import net.minecraft.world.inventory.*; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.CraftingRecipe; import net.minecraft.world.item.crafting.RecipeType; @@ -69,6 +55,12 @@ import net.minecraft.world.level.block.entity.BaseContainerBlockEntity; import net.minecraft.world.level.block.entity.HopperBlockEntity; import net.minecraft.world.level.block.state.BlockState; +import org.violetmoon.quark.content.automation.block.CrafterBlock; +import org.violetmoon.quark.content.automation.inventory.CrafterMenu; +import org.violetmoon.quark.content.automation.module.CrafterModule; + +import java.util.Optional; +import java.util.stream.IntStream; public class CrafterBlockEntity extends BaseContainerBlockEntity implements CraftingContainer, WorldlyContainer { private static final DispenseItemBehavior BEHAVIOR = new CraftDispenseBehavior(); @@ -231,7 +223,7 @@ public static ItemStack getResult(Level world, CraftingContainer craftingInvento Optional optional = world.getServer().getRecipeManager().getRecipeFor(RecipeType.CRAFTING, craftingInventory, world); if (optional.isPresent()) { CraftingRecipe craftingRecipe = optional.get(); - ItemStack stack = craftingRecipe.assemble(craftingInventory, world.registryAccess()); + ItemStack stack = craftingRecipe.assemble(craftingInventory.asCraftInput(), world.registryAccess()); if (stack.isItemEnabled(world.enabledFeatures())) { return stack; } @@ -328,7 +320,7 @@ public int getHeight() { } @Override - public List getItems() { + public NonNullList getItems() { return stacks; } @@ -354,7 +346,7 @@ public boolean canPlaceItem(int slot, ItemStack stack) { continue; ItemStack testStack = getItem(i); - if(testStack.isEmpty() || ItemStack.isSameItemSameTags(stackInSlot, testStack)) + if(testStack.isEmpty() || ItemStack.isSameItemSameComponents(stackInSlot, testStack)) min = Math.min(min, testStack.getCount()); } @@ -388,17 +380,17 @@ public int[] getSlotsForFace(Direction side) { private static class CraftDispenseBehavior implements DispenseItemBehavior { @Override - public final ItemStack dispense(BlockSource blockSource, ItemStack itemStack) { - ItemStack itemStack2 = this.dispenseSilently(blockSource, itemStack); - this.playSound(blockSource); - this.spawnParticles(blockSource, blockSource.getBlockState().getValue(CrafterBlock.FACING)); + public final ItemStack dispense(BlockSource source, ItemStack itemStack) { + ItemStack itemStack2 = this.dispenseSilently(source, itemStack); + this.playSound(source); + this.spawnParticles(source, source.state().getValue(CrafterBlock.FACING)); return itemStack2; } protected ItemStack dispenseSilently(BlockSource pointer, ItemStack stack) { - Direction direction = pointer.getBlockState().getValue(CrafterBlock.FACING); + Direction direction = pointer.state().getValue(CrafterBlock.FACING); Position position = getOutputLocation(pointer); - spawnItem(pointer.getLevel(), stack, 6, direction, position); + spawnItem(pointer.level(), stack, 6, direction, position); return stack; } @@ -419,16 +411,16 @@ public static void spawnItem(Level world, ItemStack stack, int speed, Direction } protected void playSound(BlockSource pointer) { - pointer.getLevel().levelEvent(1000, pointer.getPos(), 0); + pointer.level().levelEvent(1000, pointer.pos(), 0); } protected void spawnParticles(BlockSource pointer, Direction side) { - pointer.getLevel().levelEvent(2000, pointer.getPos(), side.get3DDataValue()); + pointer.level().levelEvent(2000, pointer.pos(), side.get3DDataValue()); } private static Position getOutputLocation(BlockSource pointer) { - Direction direction = pointer.getBlockState().getValue(CrafterBlock.FACING); - return pointer.getPos().getCenter().add(0.7 * (double)direction.getStepX(), 0.7 * (double)direction.getStepY(), 0.7 * (double)direction.getStepZ()); + Direction direction = pointer.state().getValue(CrafterBlock.FACING); + return pointer.pos().getCenter().add(0.7 * (double)direction.getStepX(), 0.7 * (double)direction.getStepY(), 0.7 * (double)direction.getStepZ()); } } } diff --git a/src/main/java/org/violetmoon/quark/content/automation/module/FeedingTroughModule.java b/src/main/java/org/violetmoon/quark/content/automation/module/FeedingTroughModule.java index 1f1fbda8be..56708663dc 100644 --- a/src/main/java/org/violetmoon/quark/content/automation/module/FeedingTroughModule.java +++ b/src/main/java/org/violetmoon/quark/content/automation/module/FeedingTroughModule.java @@ -2,7 +2,6 @@ import com.google.common.collect.ImmutableSet; import com.mojang.authlib.GameProfile; -import net.minecraft.client.gui.screens.MenuScreens; import net.minecraft.core.BlockPos; import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceKey; @@ -26,12 +25,9 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.Vec3; -import net.minecraftforge.common.extensions.IForgeMenuType; -import net.minecraftforge.common.util.FakePlayerFactory; import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.EventBusSubscriber; import net.neoforged.neoforge.client.event.RegisterMenuScreensEvent; -import net.neoforged.neoforge.common.NeoForge; import net.neoforged.neoforge.common.extensions.IMenuTypeExtension; import net.neoforged.neoforge.common.util.FakePlayer; import net.neoforged.neoforge.common.util.FakePlayerFactory; @@ -41,7 +37,6 @@ import org.violetmoon.quark.content.automation.block.be.FeedingTroughBlockEntity; import org.violetmoon.quark.content.automation.client.screen.TroughScreen; import org.violetmoon.quark.mixin.mixins.accessor.AccessorTemptingSensor; -import org.violetmoon.zeta.client.event.load.ZClientSetup; import org.violetmoon.zeta.config.Config; import org.violetmoon.zeta.event.bus.LoadEvent; import org.violetmoon.zeta.event.bus.PlayEvent; @@ -122,7 +117,7 @@ public void onOrbSpawn(ZEntityJoinLevel event) { } public static @Nullable Player modifyTemptGoal(TemptGoal goal, Animal animal, ServerLevel level) { - return modifyTempt(level, animal, goal.items); + return modifyTempt(level, animal, (Ingredient) goal.items); } private static @Nullable Player modifyTempt(ServerLevel level, Animal animal, Ingredient temptations) { diff --git a/src/main/java/org/violetmoon/quark/content/automation/module/PistonsMoveTileEntitiesModule.java b/src/main/java/org/violetmoon/quark/content/automation/module/PistonsMoveTileEntitiesModule.java index 930fea89da..ad6fad9f5a 100644 --- a/src/main/java/org/violetmoon/quark/content/automation/module/PistonsMoveTileEntitiesModule.java +++ b/src/main/java/org/violetmoon/quark/content/automation/module/PistonsMoveTileEntitiesModule.java @@ -1,7 +1,6 @@ package org.violetmoon.quark.content.automation.module; import com.google.common.collect.Lists; - import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.registries.BuiltInRegistries; @@ -18,10 +17,8 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.ChestType; import net.minecraftforge.common.util.NonNullConsumer; - import org.apache.commons.lang3.tuple.Pair; import org.jetbrains.annotations.Nullable; - import org.violetmoon.quark.api.IPistonCallback; import org.violetmoon.quark.api.QuarkCapabilities; import org.violetmoon.quark.base.Quark; @@ -140,7 +137,7 @@ public static void detachTileEntities(Level world, PistonStructureResolver helpe if(tile != null) { callCallback(tile, IPistonCallback::onPistonMovementStarted); - CompoundTag tag = tile.saveWithFullMetadata(); + CompoundTag tag = tile.saveWithFullMetadata(world.registryAccess()); setMovingBlockEntityData(world, pos.relative(facing), tag); world.removeBlockEntity(pos); } @@ -303,7 +300,7 @@ private static BlockEntity loadBlockEntitySafe(Level level, BlockPos pos, Compou Quark.LOG.warn("Wrong block entity found at {} (expected {}, got {})", pos.toShortString(), expectedTypeStr, BlockEntityType.getKey(inWorldEntity.getType())); return null; } else { - inWorldEntity.load(tag); + inWorldEntity.loadWithComponents(tag, level.registryAccess()); inWorldEntity.setChanged(); return inWorldEntity; } diff --git a/src/main/java/org/violetmoon/quark/content/building/block/CutVineBlock.java b/src/main/java/org/violetmoon/quark/content/building/block/CutVineBlock.java index dabaf1ec86..cb37da6ea5 100644 --- a/src/main/java/org/violetmoon/quark/content/building/block/CutVineBlock.java +++ b/src/main/java/org/violetmoon/quark/content/building/block/CutVineBlock.java @@ -5,6 +5,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BooleanProperty; @@ -29,16 +30,9 @@ public boolean canSupportAtFace(@NotNull BlockGetter level, @NotNull BlockPos po BlockState blockstate = level.getBlockState(pos.above()); return blockstate.is(Blocks.VINE) && blockstate.getValue(booleanproperty); } - return super.canSupportAtFace(level, pos, dir); } - @SuppressWarnings("deprecation") //Needless Forge extension - @Override - public ItemStack getCloneItemStack(BlockGetter level, BlockPos pos, BlockState state) { - return new ItemStack(Items.VINE); - } - @Override public @Nullable String getBlockColorProviderName() { return "vine"; diff --git a/src/main/java/org/violetmoon/quark/content/building/block/GrateBlock.java b/src/main/java/org/violetmoon/quark/content/building/block/GrateBlock.java index 0b5b504d5d..83a73ba7e4 100755 --- a/src/main/java/org/violetmoon/quark/content/building/block/GrateBlock.java +++ b/src/main/java/org/violetmoon/quark/content/building/block/GrateBlock.java @@ -34,7 +34,7 @@ import net.minecraft.world.phys.shapes.EntityCollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; -import net.minecraftforge.event.ForgeEventFactory; +import net.neoforged.neoforge.event.EventHooks; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.violetmoon.quark.api.ICrawlSpaceBlock; @@ -146,7 +146,7 @@ public BlockState getStateForPlacement(BlockPlaceContext context) { } @Override - public boolean isPathfindable(@NotNull BlockState state, @NotNull BlockGetter world, @NotNull BlockPos pos, @NotNull PathComputationType path) { + protected boolean isPathfindable(BlockState state, PathComputationType type) { return false; } @@ -160,10 +160,9 @@ public void neighborChanged(@NotNull BlockState state, @NotNull Level level, @No super.neighborChanged(state, level, pos, updatedBlock, neighbor, isMoving); if(!pos.below().equals(neighbor)) { BlockState neighborState = level.getBlockState(neighbor); - if(neighborState.getFluidState().is(FluidTags.WATER) && - fluidContained(state).isSame(Fluids.LAVA)) { + if(neighborState.getFluidState().is(FluidTags.WATER) && fluidContained(state).isSame(Fluids.LAVA)) { level.destroyBlock(pos, true); - level.setBlock(pos, ForgeEventFactory.fireFluidPlaceBlockEvent(level, pos, neighbor, Blocks.OBSIDIAN.defaultBlockState()), 3); + level.setBlock(pos, EventHooks.fireFluidPlaceBlockEvent(level, pos, neighbor, Blocks.OBSIDIAN.defaultBlockState()), 3); level.levelEvent(LevelEvent.LAVA_FIZZ, pos, 0); } } diff --git a/src/main/java/org/violetmoon/quark/content/building/block/HollowWoodBlock.java b/src/main/java/org/violetmoon/quark/content/building/block/HollowWoodBlock.java index 83ce8ce083..123aab5411 100644 --- a/src/main/java/org/violetmoon/quark/content/building/block/HollowWoodBlock.java +++ b/src/main/java/org/violetmoon/quark/content/building/block/HollowWoodBlock.java @@ -1,13 +1,5 @@ package org.violetmoon.quark.content.building.block; -import net.neoforged.neoforge.common.ItemAbility; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.violetmoon.quark.base.Quark; -import org.violetmoon.zeta.module.ZetaModule; -import org.violetmoon.zeta.registry.RenderLayerRegistry; -import org.violetmoon.zeta.util.MiscUtil; - import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.item.context.UseOnContext; @@ -20,6 +12,13 @@ import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.phys.Vec3; +import net.neoforged.neoforge.common.ItemAbility; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.violetmoon.quark.base.Quark; +import org.violetmoon.zeta.module.ZetaModule; +import org.violetmoon.zeta.registry.RenderLayerRegistry; +import org.violetmoon.zeta.util.MiscUtil; /** * Unfortunately, due to Ladder Weirdness (tm) this block is NYI @@ -81,16 +80,15 @@ public BlockState mirror(@NotNull BlockState state, @NotNull Mirror mirror) { return newState; } - // Temporary method @Override - public @Nullable BlockState getToolModifiedStateZeta(BlockState state, UseOnContext context, String toolActionType, boolean simulate) { - if("axe_strip".equals(toolActionType)) { + public @Nullable BlockState getToolModifiedState(BlockState state, UseOnContext context, ItemAbility itemAbility, boolean simulate) { + if("axe_strip".equals(String.valueOf(itemAbility))) { Vec3 exactPos = context.getClickLocation(); BlockPos centerPos = context.getClickedPos(); Direction face = Direction.getNearest(exactPos.x - (centerPos.getX() + 0.5), exactPos.y - (centerPos.getY() + 0.5), exactPos.z - (centerPos.getZ() + 0.5)); return state.cycle(MiscUtil.directionProperty(face)); } - return super.getToolModifiedStateZeta(state, context, ItemAbility.get(toolActionType), simulate); + return super.getToolModifiedStateZeta(state, context, ItemAbility.get(String.valueOf(itemAbility)), simulate); } @Override diff --git a/src/main/java/org/violetmoon/quark/content/building/block/RainbowLampBlock.java b/src/main/java/org/violetmoon/quark/content/building/block/RainbowLampBlock.java index c3740c6efe..1237517ff4 100644 --- a/src/main/java/org/violetmoon/quark/content/building/block/RainbowLampBlock.java +++ b/src/main/java/org/violetmoon/quark/content/building/block/RainbowLampBlock.java @@ -15,10 +15,8 @@ import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.level.block.state.properties.NoteBlockInstrument; import net.minecraft.world.level.material.MapColor; - import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; - import org.violetmoon.quark.content.building.module.RainbowLampsModule; import org.violetmoon.zeta.block.ZetaGlassBlock; import org.violetmoon.zeta.module.ZetaModule; diff --git a/src/main/java/org/violetmoon/quark/content/building/block/RopeBlock.java b/src/main/java/org/violetmoon/quark/content/building/block/RopeBlock.java index c19d47ffa2..559004715c 100755 --- a/src/main/java/org/violetmoon/quark/content/building/block/RopeBlock.java +++ b/src/main/java/org/violetmoon/quark/content/building/block/RopeBlock.java @@ -1,15 +1,5 @@ package org.violetmoon.quark.content.building.block; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.violetmoon.quark.content.automation.module.PistonsMoveTileEntitiesModule; -import org.violetmoon.quark.content.building.module.RopeModule; -import org.violetmoon.zeta.block.ZetaBlock; -import org.violetmoon.zeta.item.ZetaBlockItem; -import org.violetmoon.zeta.module.ZetaModule; -import org.violetmoon.zeta.registry.IZetaBlockItemProvider; -import org.violetmoon.zeta.registry.RenderLayerRegistry; - import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.sounds.SoundEvents; @@ -19,11 +9,7 @@ import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.CreativeModeTabs; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; +import net.minecraft.world.item.*; import net.minecraft.world.item.alchemy.PotionUtils; import net.minecraft.world.item.alchemy.Potions; import net.minecraft.world.item.context.BlockPlaceContext; @@ -31,11 +17,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.LevelReader; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.level.block.LevelEvent; -import net.minecraft.world.level.block.LiquidBlock; -import net.minecraft.world.level.block.SimpleWaterloggedBlock; +import net.minecraft.world.level.block.*; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; @@ -52,6 +34,15 @@ import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.minecraftforge.fluids.FluidActionResult; import net.minecraftforge.fluids.FluidUtil; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.violetmoon.quark.content.automation.module.PistonsMoveTileEntitiesModule; +import org.violetmoon.quark.content.building.module.RopeModule; +import org.violetmoon.zeta.block.ZetaBlock; +import org.violetmoon.zeta.item.ZetaBlockItem; +import org.violetmoon.zeta.module.ZetaModule; +import org.violetmoon.zeta.registry.IZetaBlockItemProvider; +import org.violetmoon.zeta.registry.RenderLayerRegistry; public class RopeBlock extends ZetaBlock implements IZetaBlockItemProvider, SimpleWaterloggedBlock { @@ -276,14 +267,13 @@ private void moveBlock(Level world, BlockPos srcPos, BlockPos dstPos) { world.setBlockAndUpdate(dstPos, nextState); if(tile != null) { - BlockEntity target = BlockEntity.loadStatic(dstPos, state, tile.saveWithFullMetadata()); + BlockEntity target = BlockEntity.loadStatic(dstPos, state, tile.saveWithFullMetadata(world.registryAccess()), world.registryAccess()); if(target != null) { world.setBlockEntity(target); target.setBlockState(state); target.setChanged(); } } - world.updateNeighborsAt(dstPos, state.getBlock()); } diff --git a/src/main/java/org/violetmoon/quark/content/building/block/StoolBlock.java b/src/main/java/org/violetmoon/quark/content/building/block/StoolBlock.java index 094a7a3490..37f6d9bf93 100644 --- a/src/main/java/org/violetmoon/quark/content/building/block/StoolBlock.java +++ b/src/main/java/org/violetmoon/quark/content/building/block/StoolBlock.java @@ -94,9 +94,9 @@ public void tick(@NotNull BlockState state, @NotNull ServerLevel worldIn, @NotNu @NotNull @Override - public InteractionResult use(BlockState state, @NotNull Level worldIn, @NotNull BlockPos pos, @NotNull Player player, @NotNull InteractionHand handIn, @NotNull BlockHitResult hit) { + public InteractionResult useWithoutItem(BlockState state, @NotNull Level worldIn, @NotNull BlockPos pos, @NotNull Player player, @NotNull BlockHitResult hit) { if(state.getValue(SAT_IN) || !worldIn.getBlockState(pos.above()).isAir() || player.getVehicle() != null) - return super.use(state, worldIn, pos, player, handIn, hit); + return super.useWithoutItem(state, worldIn, pos, player, hit); if(!worldIn.isClientSide) { Stool entity = new Stool(StoolsModule.stoolEntity, worldIn); @@ -181,7 +181,9 @@ private BlockState getStateFor(Level world, BlockPos pos) { return defaultBlockState() .setValue(WATERLOGGED, world.getFluidState(pos).getType() == Fluids.WATER) .setValue(BIG, world.getBlockState(pos.above()).getShape(world, pos.above()).min(Axis.Y) == 0) - .setValue(SAT_IN, world.getEntitiesOfClass(Stool.class, new AABB(pos, pos.above()).inflate(0.4), e -> e.blockPosition().equals(pos)).size() > 0); + .setValue(SAT_IN, !world.getEntitiesOfClass(Stool.class, + new AABB(new Vec3(pos.getX(), pos.getY(), pos.getZ()), new Vec3(pos.above().getX(), pos.above().getY(), pos.above().getZ())) + .inflate(0.4), e -> e.blockPosition().equals(pos)).isEmpty()); } @Override diff --git a/src/main/java/org/violetmoon/quark/content/building/block/VerticalSlabBlock.java b/src/main/java/org/violetmoon/quark/content/building/block/VerticalSlabBlock.java index b1652d5cc5..a5563b1972 100644 --- a/src/main/java/org/violetmoon/quark/content/building/block/VerticalSlabBlock.java +++ b/src/main/java/org/violetmoon/quark/content/building/block/VerticalSlabBlock.java @@ -6,11 +6,11 @@ import net.minecraft.core.Direction.AxisDirection; import net.minecraft.tags.FluidTags; import net.minecraft.util.StringRepresentable; +import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.LevelAccessor; -import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Mirror; import net.minecraft.world.level.block.Rotation; @@ -28,10 +28,8 @@ import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; - import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; - import org.violetmoon.quark.base.Quark; import org.violetmoon.zeta.block.ext.IZetaBlockExtensions; import org.violetmoon.zeta.registry.IZetaBlockColorProvider; @@ -154,8 +152,8 @@ public boolean placeLiquid(@NotNull LevelAccessor worldIn, @NotNull BlockPos pos } @Override - public boolean canPlaceLiquid(@NotNull BlockGetter worldIn, @NotNull BlockPos pos, BlockState state, @NotNull Fluid fluidIn) { - return state.getValue(TYPE) != VerticalSlabType.DOUBLE && SimpleWaterloggedBlock.super.canPlaceLiquid(worldIn, pos, state, fluidIn); + public boolean canPlaceLiquid(@Nullable Player player, @NotNull BlockGetter worldIn, @NotNull BlockPos pos, BlockState state, @NotNull Fluid fluidIn) { + return state.getValue(TYPE) != VerticalSlabType.DOUBLE && SimpleWaterloggedBlock.super.canPlaceLiquid(player, worldIn, pos, state, fluidIn); } @NotNull @@ -168,8 +166,8 @@ public BlockState updateShape(@NotNull BlockState stateIn, @NotNull Direction fa } @Override - public boolean isPathfindable(@NotNull BlockState state, @NotNull BlockGetter worldIn, @NotNull BlockPos pos, @NotNull PathComputationType type) { - return type == PathComputationType.WATER && worldIn.getFluidState(pos).is(FluidTags.WATER); + protected boolean isPathfindable(BlockState state, PathComputationType type) { + return type == PathComputationType.WATER && state.getFluidState().is(FluidTags.WATER); } @Override diff --git a/src/main/java/org/violetmoon/quark/content/building/block/WeatheringCopperVerticalSlabBlock.java b/src/main/java/org/violetmoon/quark/content/building/block/WeatheringCopperVerticalSlabBlock.java index f3bd0bfdbf..3a0f760682 100644 --- a/src/main/java/org/violetmoon/quark/content/building/block/WeatheringCopperVerticalSlabBlock.java +++ b/src/main/java/org/violetmoon/quark/content/building/block/WeatheringCopperVerticalSlabBlock.java @@ -27,7 +27,7 @@ public WeatheringCopperVerticalSlabBlock(Block parent, ZetaModule module) { @Override public void randomTick(@NotNull BlockState state, @NotNull ServerLevel world, @NotNull BlockPos pos, @NotNull RandomSource random) { - this.onRandomTick(state, world, pos, random); + this.changeOverTime(state, world, pos, random); } @Override diff --git a/src/main/java/org/violetmoon/quark/content/building/client/render/entity/GlassItemFrameRenderer.java b/src/main/java/org/violetmoon/quark/content/building/client/render/entity/GlassItemFrameRenderer.java index df00d01397..e19bb4d7fc 100644 --- a/src/main/java/org/violetmoon/quark/content/building/client/render/entity/GlassItemFrameRenderer.java +++ b/src/main/java/org/violetmoon/quark/content/building/client/render/entity/GlassItemFrameRenderer.java @@ -22,6 +22,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Holder; +import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.EntityType; @@ -38,6 +39,8 @@ import net.minecraft.world.level.saveddata.maps.MapItemSavedData; import net.minecraft.world.phys.Vec3; +import net.neoforged.neoforge.client.event.RenderItemInFrameEvent; +import net.neoforged.neoforge.common.NeoForge; import org.jetbrains.annotations.NotNull; import org.violetmoon.quark.base.Quark; @@ -120,7 +123,7 @@ public ResourceLocation getTextureLocation(@NotNull GlassItemFrame frame) { @Override protected boolean shouldShowName(@NotNull GlassItemFrame frame) { - if(Minecraft.renderNames() && !frame.getItem().isEmpty() && frame.getItem().hasCustomHoverName() && this.entityRenderDispatcher.crosshairPickEntity == frame) { + if(Minecraft.renderNames() && !frame.getItem().isEmpty() && frame.getItem().has(DataComponents.CUSTOM_NAME) && this.entityRenderDispatcher.crosshairPickEntity == frame) { double d0 = this.entityRenderDispatcher.distanceToSqr(frame); float f = frame.isDiscrete() ? 32.0F : 64.0F; return d0 < (double) (f * f); @@ -130,8 +133,8 @@ protected boolean shouldShowName(@NotNull GlassItemFrame frame) { } @Override - protected void renderNameTag(@NotNull GlassItemFrame frame, @NotNull Component text, @NotNull PoseStack matrix, @NotNull MultiBufferSource buffer, int light) { - super.renderNameTag(frame, frame.getItem().getHoverName(), matrix, buffer, light); + protected void renderNameTag(GlassItemFrame frame, Component text, PoseStack matrix, MultiBufferSource buffer, int light, float partialTick) { + super.renderNameTag(frame, frame.getItem().getHoverName(), matrix, buffer, light, partialTick); } protected void renderItemStack(GlassItemFrame itemFrame, PoseStack matrix, MultiBufferSource buff, int light, ItemStack stack) { @@ -178,7 +181,7 @@ protected void renderItemStack(GlassItemFrame itemFrame, PoseStack matrix, Multi int rotation = mapdata != null ? itemFrame.getRotation() % 4 * 2 : itemFrame.getRotation(); matrix.mulPose(Axis.ZP.rotationDegrees((float) rotation * 360.0F / 8.0F)); - if(!MinecraftForge.EVENT_BUS.post(new RenderItemInFrameEvent(itemFrame, defaultRenderer, matrix, buff, light))) { + if(!NeoForge.EVENT_BUS.post(new RenderItemInFrameEvent(itemFrame, defaultRenderer, matrix, buff, light))) { if(mapdata != null) { matrix.mulPose(Axis.ZP.rotationDegrees(180.0F)); matrix.scale(0.0078125F, 0.0078125F, 0.0078125F); diff --git a/src/main/java/org/violetmoon/quark/content/building/item/QuarkItemFrameItem.java b/src/main/java/org/violetmoon/quark/content/building/item/QuarkItemFrameItem.java index 4cfe919d13..8e49fbbad7 100644 --- a/src/main/java/org/violetmoon/quark/content/building/item/QuarkItemFrameItem.java +++ b/src/main/java/org/violetmoon/quark/content/building/item/QuarkItemFrameItem.java @@ -2,6 +2,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.component.DataComponents; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.EntityType; @@ -11,6 +12,7 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; +import net.minecraft.world.item.component.CustomData; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.Level; import net.minecraft.world.level.gameevent.GameEvent; @@ -49,9 +51,9 @@ public InteractionResult useOn(UseOnContext context) { Level world = context.getLevel(); HangingEntity frame = entityProvider.apply(world, placeLocation, facing); - CompoundTag tag = stack.getTag(); - if(tag != null) - EntityType.updateCustomEntityTag(world, player, frame, tag); + CustomData data = stack.get(DataComponents.CUSTOM_DATA); + if(data != null) + EntityType.updateCustomEntityTag(world, player, frame, data); if(frame.survives()) { if(!world.isClientSide) { diff --git a/src/main/java/org/violetmoon/quark/content/client/tooltip/AttributeTooltips.java b/src/main/java/org/violetmoon/quark/content/client/tooltip/AttributeTooltips.java index e580c44338..e0ea6b7920 100644 --- a/src/main/java/org/violetmoon/quark/content/client/tooltip/AttributeTooltips.java +++ b/src/main/java/org/violetmoon/quark/content/client/tooltip/AttributeTooltips.java @@ -1,35 +1,11 @@ package org.violetmoon.quark.content.client.tooltip; -import java.util.Collection; -import java.util.HashMap; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import net.minecraft.world.item.component.ItemAttributeModifiers; -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; -import org.violetmoon.quark.base.Quark; -import org.violetmoon.quark.base.QuarkClient; -import org.violetmoon.quark.base.client.handler.ClientUtil; -import org.violetmoon.quark.content.client.hax.PseudoAccessorItemStack; -import org.violetmoon.quark.content.client.module.ImprovedTooltipsModule; -import org.violetmoon.quark.content.client.resources.AttributeDisplayType; -import org.violetmoon.quark.content.client.resources.AttributeIconEntry; -import org.violetmoon.quark.content.client.resources.AttributeIconEntry.CompareType; -import org.violetmoon.quark.content.client.resources.AttributeSlot; -import org.violetmoon.zeta.client.event.play.ZGatherTooltipComponents; -import org.violetmoon.zeta.event.play.loading.ZGatherHints; -import org.violetmoon.zeta.util.ItemNBTHelper; - import com.google.common.collect.ImmutableMultimap; import com.google.common.collect.Maps; import com.google.common.collect.Multimap; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.datafixers.util.Either; - import net.minecraft.ChatFormatting; import net.minecraft.Util; import net.minecraft.client.Minecraft; @@ -45,22 +21,32 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.EquipmentSlot; -import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.MobType; -import net.minecraft.world.entity.ai.attributes.Attribute; -import net.minecraft.world.entity.ai.attributes.AttributeInstance; -import net.minecraft.world.entity.ai.attributes.AttributeModifier; -import net.minecraft.world.entity.ai.attributes.AttributeSupplier; -import net.minecraft.world.entity.ai.attributes.Attributes; -import net.minecraft.world.entity.ai.attributes.DefaultAttributes; +import net.minecraft.world.entity.ai.attributes.*; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.PotionItem; import net.minecraft.world.item.TippedArrowItem; import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.item.component.ItemAttributeModifiers; import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraft.world.item.enchantment.Enchantments; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.violetmoon.quark.base.Quark; +import org.violetmoon.quark.base.QuarkClient; +import org.violetmoon.quark.base.client.handler.ClientUtil; +import org.violetmoon.quark.content.client.hax.PseudoAccessorItemStack; +import org.violetmoon.quark.content.client.module.ImprovedTooltipsModule; +import org.violetmoon.quark.content.client.resources.AttributeDisplayType; +import org.violetmoon.quark.content.client.resources.AttributeIconEntry; +import org.violetmoon.quark.content.client.resources.AttributeIconEntry.CompareType; +import org.violetmoon.quark.content.client.resources.AttributeSlot; +import org.violetmoon.zeta.client.event.play.ZGatherTooltipComponents; +import org.violetmoon.zeta.util.ItemNBTHelper; + +import java.util.*; /** * @author WireSegal @@ -300,20 +286,20 @@ private static double getAttribute(Player player, AttributeSlot slot, ItemStack } for(AttributeModifier modifier : collection) { - if(modifier.getOperation() == AttributeModifier.Operation.ADD_VALUE) - value += modifier.getAmount(); + if(modifier.operation() == AttributeModifier.Operation.ADD_VALUE) + value += modifier.amount(); } double rawValue = value; for(AttributeModifier modifier : collection) { - if(modifier.getOperation() == AttributeModifier.Operation.ADD_MULTIPLIED_BASE) - value += rawValue * modifier.getAmount(); + if(modifier.operation() == AttributeModifier.Operation.ADD_MULTIPLIED_BASE) + value += rawValue * modifier.amount(); } for(AttributeModifier modifier : collection) { - if(modifier.getOperation() == AttributeModifier.Operation.ADD_MULTIPLIED_TOTAL) - value += value * modifier.getAmount(); + if(modifier.operation() == AttributeModifier.Operation.ADD_MULTIPLIED_TOTAL) + value += value * modifier.amount(); } if(key.equals(Attributes.ATTACK_DAMAGE) && slot == AttributeSlot.MAINHAND) diff --git a/src/main/java/org/violetmoon/quark/content/client/tooltip/ShulkerBoxTooltips.java b/src/main/java/org/violetmoon/quark/content/client/tooltip/ShulkerBoxTooltips.java index 3dfb4654ec..87a602cb48 100755 --- a/src/main/java/org/violetmoon/quark/content/client/tooltip/ShulkerBoxTooltips.java +++ b/src/main/java/org/violetmoon/quark/content/client/tooltip/ShulkerBoxTooltips.java @@ -4,7 +4,6 @@ import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.datafixers.util.Either; - import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; import net.minecraft.client.gui.GuiGraphics; @@ -26,9 +25,7 @@ import net.minecraftforge.common.capabilities.ForgeCapabilities; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.IItemHandler; - import org.jetbrains.annotations.NotNull; - import org.violetmoon.quark.base.Quark; import org.violetmoon.quark.base.handler.SimilarBlockTypeHandler; import org.violetmoon.quark.content.client.module.ChestSearchingModule; @@ -141,10 +138,7 @@ public void renderImage(@NotNull Font font, int tooltipX, int tooltipY, @NotNull if(ImprovedTooltipsModule.shulkerBoxUseColors && ((BlockItem) currentBox.getItem()).getBlock() instanceof ShulkerBoxBlock boxBlock) { DyeColor dye = boxBlock.getColor(); if(dye != null) { - float[] colorComponents = dye.getTextureDiffuseColors(); - color = ((int) (colorComponents[0] * 255) << 16) | - ((int) (colorComponents[1] * 255) << 8) | - (int) (colorComponents[2] * 255); + color = dye.getTextureDiffuseColor(); } } diff --git a/src/main/java/org/violetmoon/quark/content/experimental/client/screen/VariantSelectorScreen.java b/src/main/java/org/violetmoon/quark/content/experimental/client/screen/VariantSelectorScreen.java index 1e526eb8f7..4c94a4a3b7 100644 --- a/src/main/java/org/violetmoon/quark/content/experimental/client/screen/VariantSelectorScreen.java +++ b/src/main/java/org/violetmoon/quark/content/experimental/client/screen/VariantSelectorScreen.java @@ -84,14 +84,13 @@ public void render(@NotNull GuiGraphics guiGraphics, int mx, int my, float delta slotSelected = -1; Tesselator tess = Tesselator.getInstance(); - BufferBuilder buf = tess.getBuilder(); + BufferBuilder buf = tess.begin(VertexFormat.Mode.TRIANGLE_FAN, DefaultVertexFormat.POSITION_COLOR); RenderSystem.disableCull(); RenderSystem.enableBlend(); RenderSystem.setShader(GameRenderer::getPositionColorShader); drawStacks.clear(); - buf.begin(VertexFormat.Mode.TRIANGLE_FAN, DefaultVertexFormat.POSITION_COLOR); for (int seg = 0; seg < segments; seg++) { //we need 1 extra @@ -162,7 +161,6 @@ public void render(@NotNull GuiGraphics guiGraphics, int mx, int my, float delta int ydp = (int) ((cyp - y) * mod + y); drawStacks.add(new DrawStack(variantStack, xdp - 8, ydp - 8)); } - tess.end(); RenderSystem.enableBlend(); RenderSystem.blendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, 1, 0); diff --git a/src/main/java/org/violetmoon/quark/content/experimental/module/VillagerRerollingReworkModule.java b/src/main/java/org/violetmoon/quark/content/experimental/module/VillagerRerollingReworkModule.java index 6c84c0201f..38a9501ea7 100644 --- a/src/main/java/org/violetmoon/quark/content/experimental/module/VillagerRerollingReworkModule.java +++ b/src/main/java/org/violetmoon/quark/content/experimental/module/VillagerRerollingReworkModule.java @@ -8,7 +8,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.trading.MerchantOffer; import net.minecraft.world.item.trading.MerchantOffers; - import org.violetmoon.quark.content.experimental.hax.PseudoAccessorMerchantOffer; import org.violetmoon.quark.mixin.mixins.accessor.AccessorMerchantOffer; import org.violetmoon.zeta.config.Config; @@ -65,7 +64,7 @@ public final void configChanged(ZConfigChanged event) { @PlayEvent public void assignSeedIfUnassigned(ZLivingTick event) { - LivingEntity entity = event.getEntity(); + if (!(event.getEntity() instanceof LivingEntity entity)) return; if(canUseSeededRandom(entity)) { CompoundTag persistent = entity.getPersistentData(); diff --git a/src/main/java/org/violetmoon/quark/content/management/client/screen/HeldShulkerBoxScreen.java b/src/main/java/org/violetmoon/quark/content/management/client/screen/HeldShulkerBoxScreen.java index 3c51815d16..50914ca8ee 100644 --- a/src/main/java/org/violetmoon/quark/content/management/client/screen/HeldShulkerBoxScreen.java +++ b/src/main/java/org/violetmoon/quark/content/management/client/screen/HeldShulkerBoxScreen.java @@ -32,7 +32,7 @@ public HeldShulkerBoxScreen(HeldShulkerBoxMenu p_99240_, Inventory p_99241_, Com @Override public void render(@NotNull GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTicks) { - this.renderBackground(guiGraphics); + this.renderBackground(guiGraphics, mouseX, mouseY, partialTicks); super.render(guiGraphics, mouseX, mouseY, partialTicks); this.renderTooltip(guiGraphics, mouseX, mouseY); } diff --git a/src/main/java/org/violetmoon/quark/content/management/module/ItemSharingModule.java b/src/main/java/org/violetmoon/quark/content/management/module/ItemSharingModule.java index 7731ed6c7c..861ecb5a9f 100755 --- a/src/main/java/org/violetmoon/quark/content/management/module/ItemSharingModule.java +++ b/src/main/java/org/violetmoon/quark/content/management/module/ItemSharingModule.java @@ -191,7 +191,7 @@ private static void render(Minecraft mc, GuiGraphics guiGraphics, String before, guiGraphics.pose().pushPose(); - guiGraphics.pose().mulPoseMatrix(pose.last().pose()); + guiGraphics.pose().mulPose(pose.last().pose()); guiGraphics.pose().translate(shift + x, y, 0); guiGraphics.pose().scale(0.5f, 0.5f, 0.5f); diff --git a/src/main/java/org/violetmoon/quark/content/mobs/client/layer/forgotten/ForgottenClothingLayer.java b/src/main/java/org/violetmoon/quark/content/mobs/client/layer/forgotten/ForgottenClothingLayer.java index 1652d2e6e1..7f52d66c99 100644 --- a/src/main/java/org/violetmoon/quark/content/mobs/client/layer/forgotten/ForgottenClothingLayer.java +++ b/src/main/java/org/violetmoon/quark/content/mobs/client/layer/forgotten/ForgottenClothingLayer.java @@ -29,6 +29,6 @@ public ForgottenClothingLayer(RenderLayerParent parent, EntityModelSet mod @Override public void render(@NotNull PoseStack matrixStackIn, @NotNull MultiBufferSource bufferIn, int packedLightIn, @NotNull T entitylivingbaseIn, float limbSwing, float limbSwingAmount, float partialTicks, float ageInTicks, float netHeadYaw, float headPitch) { - coloredCutoutModelCopyLayerRender(getParentModel(), layerModel, TEXTURE, matrixStackIn, bufferIn, packedLightIn, entitylivingbaseIn, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, partialTicks, 1.0F, 1.0F, 1.0F); + coloredCutoutModelCopyLayerRender(getParentModel(), layerModel, TEXTURE, matrixStackIn, bufferIn, packedLightIn, entitylivingbaseIn, limbSwing, limbSwingAmount, ageInTicks, netHeadYaw, headPitch, partialTicks, 1); } } diff --git a/src/main/java/org/violetmoon/quark/content/mobs/client/layer/shiba/ShibaCollarLayer.java b/src/main/java/org/violetmoon/quark/content/mobs/client/layer/shiba/ShibaCollarLayer.java index ce49c79e56..83583e532a 100644 --- a/src/main/java/org/violetmoon/quark/content/mobs/client/layer/shiba/ShibaCollarLayer.java +++ b/src/main/java/org/violetmoon/quark/content/mobs/client/layer/shiba/ShibaCollarLayer.java @@ -11,14 +11,11 @@ package org.violetmoon.quark.content.mobs.client.layer.shiba; import com.mojang.blaze3d.vertex.PoseStack; - import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.entity.RenderLayerParent; import net.minecraft.client.renderer.entity.layers.RenderLayer; import net.minecraft.resources.ResourceLocation; - import org.jetbrains.annotations.NotNull; - import org.violetmoon.quark.base.Quark; import org.violetmoon.quark.content.mobs.client.model.ShibaModel; import org.violetmoon.quark.content.mobs.entity.Shiba; @@ -34,9 +31,8 @@ public ShibaCollarLayer(RenderLayerParent renderer) { @Override public void render(@NotNull PoseStack matrix, @NotNull MultiBufferSource buffer, int light, Shiba foxhound, float limbAngle, float limbDistance, float tickDelta, float customAngle, float headYaw, float headPitch) { if(foxhound.isTame() && !foxhound.isInvisible()) { - float[] afloat = foxhound.getCollarColor().getTextureDiffuseColors(); - renderColoredCutoutModel(getParentModel(), WOLF_COLLAR, matrix, buffer, light, foxhound, afloat[0], afloat[1], afloat[2]); + int color = foxhound.getCollarColor().getTextureDiffuseColor(); + renderColoredCutoutModel(getParentModel(), WOLF_COLLAR, matrix, buffer, light, foxhound, color); } } - } diff --git a/src/main/java/org/violetmoon/quark/content/mobs/client/model/CrabModel.java b/src/main/java/org/violetmoon/quark/content/mobs/client/model/CrabModel.java index 66e88496ea..d8ca991027 100755 --- a/src/main/java/org/violetmoon/quark/content/mobs/client/model/CrabModel.java +++ b/src/main/java/org/violetmoon/quark/content/mobs/client/model/CrabModel.java @@ -4,7 +4,6 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.math.Axis; - import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; @@ -13,9 +12,7 @@ import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; import net.minecraft.util.Mth; - import org.jetbrains.annotations.NotNull; - import org.violetmoon.quark.content.mobs.entity.Crab; import java.util.Set; @@ -210,14 +207,13 @@ public void setupAnim(Crab crab, float limbSwing, float limbSwingAmount, float a } @Override - public void renderToBuffer(PoseStack matrix, @NotNull VertexConsumer vb, int packedLightIn, int packedOverlayIn, float red, float green, float blue, float alpha) { + public void renderToBuffer(PoseStack matrix, @NotNull VertexConsumer vb, int packedLightIn, int packedOverlayIn, int color) { matrix.pushPose(); matrix.translate(0, 1.5 - crabSize * 1.5, 0); matrix.scale(crabSize, crabSize, crabSize); matrix.mulPose(Axis.YP.rotationDegrees(90F)); matrix.translate(wiggleX, wiggleY, 0); - group.render(matrix, vb, packedLightIn, packedOverlayIn, red, green, blue, alpha); + group.render(matrix, vb, packedLightIn, packedOverlayIn, color); matrix.popPose(); } - } diff --git a/src/main/java/org/violetmoon/quark/content/mobs/client/model/ShibaModel.java b/src/main/java/org/violetmoon/quark/content/mobs/client/model/ShibaModel.java index 37cf36f626..bd2751dd37 100644 --- a/src/main/java/org/violetmoon/quark/content/mobs/client/model/ShibaModel.java +++ b/src/main/java/org/violetmoon/quark/content/mobs/client/model/ShibaModel.java @@ -2,7 +2,6 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; - import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.PartPose; @@ -13,9 +12,7 @@ import net.minecraft.tags.BlockTags; import net.minecraft.util.Mth; import net.minecraft.world.level.block.state.BlockState; - import org.jetbrains.annotations.NotNull; - import org.violetmoon.quark.content.mobs.entity.Shiba; public class ShibaModel extends EntityModel { @@ -127,7 +124,7 @@ public void transformToHead(PoseStack matrix) { @Override public void prepareMobModel(@NotNull Shiba shiba, float limbSwing, float limbSwingAmount, float partialTickTime) { - BlockState state = shiba.getFeetBlockState(); + BlockState state = shiba.getBlockStateOn(); this.sleeping = state.is(BlockTags.BEDS); setRotationAngle(rFrontLeg, Mth.cos(limbSwing * 0.6662F) * 1.4F * limbSwingAmount, 0, 0); @@ -153,7 +150,7 @@ public void setupAnim(Shiba shiba, float limbSwing, float limbSwingAmount, float boolean tongueOut = false; - BlockState state = shiba.getFeetBlockState(); + BlockState state = shiba.getBlockStateOn(); boolean sleep = state.is(BlockTags.BEDS); if(shiba.isInSittingPose()) { @@ -192,7 +189,7 @@ public void setupAnim(Shiba shiba, float limbSwing, float limbSwingAmount, float } @Override - public void renderToBuffer(PoseStack matrixStack, @NotNull VertexConsumer buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { + public void renderToBuffer(PoseStack matrixStack, @NotNull VertexConsumer buffer, int packedLight, int packedOverlay, int color) { matrixStack.pushPose(); if(sleeping) matrixStack.translate(0, 0.12, 0); @@ -203,7 +200,7 @@ public void renderToBuffer(PoseStack matrixStack, @NotNull VertexConsumer buffer if(young) matrixStack.translate(0.0F, 5.0F / 16F, 0F); - head.render(matrixStack, buffer, packedLight, packedOverlay, red, green, blue, alpha); + head.render(matrixStack, buffer, packedLight, packedOverlay, color); matrixStack.popPose(); matrixStack.pushPose(); @@ -226,5 +223,4 @@ public void setRotationAngle(ModelPart modelRenderer, float x, float y, float z) modelRenderer.yRot = y; modelRenderer.zRot = z; } - } diff --git a/src/main/java/org/violetmoon/quark/content/mobs/client/model/ToretoiseModel.java b/src/main/java/org/violetmoon/quark/content/mobs/client/model/ToretoiseModel.java index 73006f0b74..2f2262119d 100644 --- a/src/main/java/org/violetmoon/quark/content/mobs/client/model/ToretoiseModel.java +++ b/src/main/java/org/violetmoon/quark/content/mobs/client/model/ToretoiseModel.java @@ -3,7 +3,6 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.math.Axis; - import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.geom.ModelPart; import net.minecraft.client.model.geom.ModelPart.Cube; @@ -12,9 +11,7 @@ import net.minecraft.client.model.geom.builders.LayerDefinition; import net.minecraft.client.model.geom.builders.MeshDefinition; import net.minecraft.client.model.geom.builders.PartDefinition; - import org.jetbrains.annotations.NotNull; - import org.violetmoon.quark.base.QuarkClient; import org.violetmoon.quark.content.mobs.entity.Toretoise; @@ -231,7 +228,7 @@ public void setupAnim(@NotNull Toretoise entity, float limbSwing, float limbSwin } @Override - public void renderToBuffer(PoseStack matrix, @NotNull VertexConsumer vb, int packedLightIn, int packedOverlayIn, float red, float green, float blue, float alpha) { + public void renderToBuffer(PoseStack matrix, @NotNull VertexConsumer vb, int packedLightIn, int packedOverlayIn, int color) { matrix.pushPose(); int bufferTime = 10; if(entity.angeryTicks > 0 && entity.angeryTicks < Toretoise.ANGERY_TIME - bufferTime) { @@ -264,12 +261,12 @@ public void renderToBuffer(PoseStack matrix, @NotNull VertexConsumer vb, int pac matrix.translate(0, bodyTrans, 0); matrix.mulPose(Axis.ZP.rotation((bodyTrans - scale) * 0.5F)); - body.render(matrix, vb, packedLightIn, packedOverlayIn, red, green, blue, alpha); + body.render(matrix, vb, packedLightIn, packedOverlayIn, color); matrix.pushPose(); matrix.translate(0, bodyTrans, rideMultiplier * 0.3); head.xRot = bodyTrans * 2; - head.render(matrix, vb, packedLightIn, packedOverlayIn, red, green, blue, alpha); + head.render(matrix, vb, packedLightIn, packedOverlayIn, color); matrix.popPose(); float finalRideMultiplier = rideMultiplier; @@ -298,7 +295,7 @@ public void renderToBuffer(PoseStack matrix, @NotNull VertexConsumer vb, int pac float yRot = renderer.yRot; renderer.xRot = rot; renderer.yRot *= (1F - finalRideMultiplier); - renderer.render(matrix, vb, packedLightIn, packedOverlayIn, red, green, blue, alpha); + renderer.render(matrix, vb, packedLightIn, packedOverlayIn, color); renderer.yRot = yRot; matrix.popPose(); }; diff --git a/src/main/java/org/violetmoon/quark/content/mobs/client/render/entity/ForgottenRenderer.java b/src/main/java/org/violetmoon/quark/content/mobs/client/render/entity/ForgottenRenderer.java index 93a82ce3fc..a8b2078072 100644 --- a/src/main/java/org/violetmoon/quark/content/mobs/client/render/entity/ForgottenRenderer.java +++ b/src/main/java/org/violetmoon/quark/content/mobs/client/render/entity/ForgottenRenderer.java @@ -1,20 +1,17 @@ package org.violetmoon.quark.content.mobs.client.render.entity; import com.mojang.blaze3d.vertex.PoseStack; - import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.SkeletonRenderer; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.entity.monster.AbstractSkeleton; - import org.jetbrains.annotations.NotNull; - import org.violetmoon.quark.base.Quark; import org.violetmoon.quark.content.mobs.client.layer.forgotten.ForgottenClothingLayer; import org.violetmoon.quark.content.mobs.client.layer.forgotten.ForgottenEyesLayer; import org.violetmoon.quark.content.mobs.client.layer.forgotten.ForgottenSheathedItemLayer; +import org.violetmoon.quark.content.mobs.entity.Forgotten; -public class ForgottenRenderer extends SkeletonRenderer { +public class ForgottenRenderer extends SkeletonRenderer { private static final ResourceLocation TEXTURE = Quark.asResource("textures/model/entity/forgotten/main.png"); @@ -28,13 +25,12 @@ public ForgottenRenderer(EntityRendererProvider.Context context) { @NotNull @Override - public ResourceLocation getTextureLocation(@NotNull AbstractSkeleton entity) { + public ResourceLocation getTextureLocation(@NotNull Forgotten entity) { return TEXTURE; } @Override - protected void scale(@NotNull AbstractSkeleton entitylivingbaseIn, PoseStack matrixStackIn, float partialTickTime) { + protected void scale(@NotNull Forgotten entity, PoseStack matrixStackIn, float partialTickTime) { matrixStackIn.scale(1.2F, 1.2F, 1.2F); } - } diff --git a/src/main/java/org/violetmoon/quark/content/mobs/entity/Forgotten.java b/src/main/java/org/violetmoon/quark/content/mobs/entity/Forgotten.java index f1729f1c17..af327cd25b 100644 --- a/src/main/java/org/violetmoon/quark/content/mobs/entity/Forgotten.java +++ b/src/main/java/org/violetmoon/quark/content/mobs/entity/Forgotten.java @@ -1,16 +1,15 @@ package org.violetmoon.quark.content.mobs.entity; -import com.google.common.collect.ImmutableSet; +import net.minecraft.core.RegistryAccess; +import net.minecraft.core.particles.ParticleOptions; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.core.registries.Registries; import net.minecraft.nbt.CompoundTag; -import net.minecraft.network.protocol.Packet; -import net.minecraft.network.protocol.game.ClientGamePacketListener; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; +import net.minecraft.server.level.ServerLevel; import net.minecraft.util.RandomSource; import net.minecraft.world.DifficultyInstance; import net.minecraft.world.InteractionHand; @@ -32,13 +31,11 @@ import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; -import net.minecraft.world.item.alchemy.PotionUtils; import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraft.world.item.enchantment.providers.VanillaEnchantmentProviders; import net.minecraft.world.level.Level; import net.minecraft.world.level.ServerLevelAccessor; import net.minecraft.world.level.storage.loot.LootTable; -import net.minecraftforge.network.NetworkHooks; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.violetmoon.quark.base.Quark; @@ -99,7 +96,7 @@ public void tick() { double w = getBbWidth() * 2; double h = getBbHeight(); - level().addParticle(ParticleTypes.AMBIENT_ENTITY_EFFECT, getX() + Math.random() * w - w / 2, getY() + Math.random() * h, getZ() + Math.random() * w - w / 2, 0, 0, 0); + level().addParticle((ParticleOptions) ParticleTypes.ENTITY_EFFECT, getX() + Math.random() * w - w / 2, getY() + Math.random() * h, getZ() + Math.random() * w - w / 2, 0, 0, 0); } private void swap() { @@ -109,7 +106,7 @@ private void swap() { setItemInHand(InteractionHand.MAIN_HAND, off); entityData.set(SHEATHED_ITEM, curr); - Stream stream = goalSelector.getRunningGoals(); + Stream stream = goalSelector.getAvailableGoals().stream().filter(WrappedGoal::isRunning); stream.map(WrappedGoal::getGoal) .filter(g -> g instanceof MeleeAttackGoal || g instanceof RangedBowAttackGoal) .forEach(Goal::stop); @@ -127,7 +124,7 @@ public void addAdditionalSaveData(@NotNull CompoundTag compound) { super.addAdditionalSaveData(compound); CompoundTag sheathed = new CompoundTag(); - entityData.get(SHEATHED_ITEM).save(sheathed); + entityData.get(SHEATHED_ITEM).save(level().registryAccess(), sheathed); compound.put("sheathed", sheathed); } @@ -136,17 +133,17 @@ public void readAdditionalSaveData(@NotNull CompoundTag compound) { super.readAdditionalSaveData(compound); CompoundTag sheathed = compound.getCompound("sheathed"); - entityData.set(SHEATHED_ITEM, ItemStack.of(sheathed)); + entityData.set(SHEATHED_ITEM, ItemStack.parseOptional(level().registryAccess(), sheathed)); } @Override - protected float getStandingEyeHeight(@NotNull Pose poseIn, @NotNull EntityDimensions sizeIn) { - return 2.1F; + public double getEyeY() { + return 2.1D; } @Override - protected void dropCustomDeathLoot(@NotNull DamageSource source, int looting, boolean recentlyHitIn) { - // NO-OP + protected void dropCustomDeathLoot(ServerLevel level, DamageSource source, boolean recentlyHitIn) { + // NO OP } @Override @@ -157,16 +154,15 @@ public boolean canPickUpLoot() { @Override protected void populateDefaultEquipmentSlots(@NotNull RandomSource rand, @NotNull DifficultyInstance difficulty) { super.populateDefaultEquipmentSlots(rand, difficulty); - - prepareEquipment(); + prepareEquipment(level().registryAccess(), difficulty); } - public void prepareEquipment(ServerLevelAccessor serverLevelAccessor, DifficultyInstance difficultyInstance) { + public void prepareEquipment(RegistryAccess access, DifficultyInstance difficulty) { ItemStack bow = new ItemStack(Items.BOW); ItemStack sheathed = new ItemStack(Items.IRON_SWORD); - EnchantmentHelper.enchantItemFromProvider(bow, serverLevelAccessor.registryAccess(), VanillaEnchantmentProviders.MOB_SPAWN_EQUIPMENT, difficultyInstance, random); - EnchantmentHelper.enchantItemFromProvider(sheathed, serverLevelAccessor.registryAccess(), VanillaEnchantmentProviders.MOB_SPAWN_EQUIPMENT, difficultyInstance, random); + EnchantmentHelper.enchantItemFromProvider(bow, access, VanillaEnchantmentProviders.MOB_SPAWN_EQUIPMENT, difficulty, random); + EnchantmentHelper.enchantItemFromProvider(sheathed, access, VanillaEnchantmentProviders.MOB_SPAWN_EQUIPMENT, difficulty, random); if(Quark.ZETA.modules.isEnabled(ColorRunesModule.class) && random.nextBoolean()) { DyeColor color = DyeColor.values()[random.nextInt(DyeColor.values().length)]; @@ -194,11 +190,4 @@ protected AbstractArrow getArrow(@NotNull ItemStack arrowStack, float distanceFa return arrow; } - - @NotNull - @Override - public Packet getAddEntityPacket() { - return NetworkHooks.getEntitySpawningPacket(this); - } - } diff --git a/src/main/java/org/violetmoon/quark/content/mobs/entity/Foxhound.java b/src/main/java/org/violetmoon/quark/content/mobs/entity/Foxhound.java index 10d42bcdac..af039b481a 100755 --- a/src/main/java/org/violetmoon/quark/content/mobs/entity/Foxhound.java +++ b/src/main/java/org/violetmoon/quark/content/mobs/entity/Foxhound.java @@ -235,7 +235,7 @@ protected void registerGoals() { this.goalSelector.addGoal(3, new SitWhenOrderedToGoal(this)); this.goalSelector.addGoal(4, new LeapAtTargetGoal(this, 0.4F)); this.goalSelector.addGoal(5, new MeleeAttackGoal(this, 1.0D, true)); - this.goalSelector.addGoal(6, new FollowOwnerGoal(this, 1.0D, 10.0F, 2.0F, false)); + this.goalSelector.addGoal(6, new FollowOwnerGoal(this, 1.0D, 10.0F, 2.0F)); this.goalSelector.addGoal(7, new BreedGoal(this, 1.0D)); this.goalSelector.addGoal(8, new FindPlaceToSleepGoal(this, 0.8D, LIT_FURNACE)); this.goalSelector.addGoal(9, new FindPlaceToSleepGoal(this, 0.8D, FURNACE)); diff --git a/src/main/java/org/violetmoon/quark/content/mobs/item/ForgottenHatItem.java b/src/main/java/org/violetmoon/quark/content/mobs/item/ForgottenHatItem.java index d61d58ccb7..9966a3670f 100644 --- a/src/main/java/org/violetmoon/quark/content/mobs/item/ForgottenHatItem.java +++ b/src/main/java/org/violetmoon/quark/content/mobs/item/ForgottenHatItem.java @@ -1,36 +1,28 @@ package org.violetmoon.quark.content.mobs.item; -import com.google.common.collect.ImmutableMultimap; -import com.google.common.collect.ImmutableMultimap.Builder; -import com.google.common.collect.Multimap; - +import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.EquipmentSlotGroup; -import net.minecraft.world.entity.ai.attributes.Attribute; +import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.item.*; import net.minecraft.world.item.component.ItemAttributeModifiers; -import net.minecraftforge.common.ForgeMod; - import org.jetbrains.annotations.NotNull; - import org.violetmoon.quark.base.Quark; import org.violetmoon.zeta.item.IZetaItem; import org.violetmoon.zeta.item.ZetaArmorItem; import org.violetmoon.zeta.module.ZetaModule; import org.violetmoon.zeta.registry.CreativeTabManager; -import java.util.UUID; import java.util.function.BooleanSupplier; public class ForgottenHatItem extends ZetaArmorItem implements IZetaItem { - private static final String TEXTURE = Quark.MOD_ID + ":textures/misc/forgotten_hat_worn.png"; + private static final ResourceLocation TEXTURE = Quark.asResource(":textures/misc/forgotten_hat_worn.png"); private final ZetaModule module; - private Multimap attributes; public ForgottenHatItem(ZetaModule module) { super(ArmorMaterials.LEATHER, Type.HELMET, @@ -61,12 +53,13 @@ public boolean doesConditionApply() { } @Override - public boolean canEquipZeta(ItemStack stack, EquipmentSlot equipmentSlot, Entity ent) { - return equipmentSlot == EquipmentSlot.HEAD; + public boolean canEquipZeta(ItemStack stack, EquipmentSlot armorType, LivingEntity entity) { + return armorType == EquipmentSlot.HEAD; } + // TODO: Reimpl getArmorTextureZeta @Override - public String getArmorTextureZeta(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { + public ResourceLocation getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, ArmorMaterial.Layer layer, boolean innerModel) { return TEXTURE; } @@ -79,11 +72,8 @@ public static ItemAttributeModifiers createAttributes() { ItemAttributeModifiers.Builder builder = ItemAttributeModifiers.builder(); builder.add(Attributes.ARMOR, new AttributeModifier(Quark.asResource("forgotten_hat_armor"), 1, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.HEAD); builder.add(Attributes.LUCK, new AttributeModifier(Quark.asResource("forgotten_hat_luck"), 1, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.HEAD); - builder.add(Attributes.ENTITY_INTERACTION_RANGE, new AttributeModifier(Quark.asResource("forgotten_hat_entity_interaction_range"), 2, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.HEAD); builder.add(Attributes.BLOCK_INTERACTION_RANGE, new AttributeModifier(Quark.asResource("forgotten_hat_block_interaction_range"), 2, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.HEAD); - return builder.build(); } - } diff --git a/src/main/java/org/violetmoon/quark/content/mobs/module/ForgottenModule.java b/src/main/java/org/violetmoon/quark/content/mobs/module/ForgottenModule.java index 68b6aa3a27..1122f08428 100644 --- a/src/main/java/org/violetmoon/quark/content/mobs/module/ForgottenModule.java +++ b/src/main/java/org/violetmoon/quark/content/mobs/module/ForgottenModule.java @@ -78,7 +78,7 @@ public void onSkeletonSpawn(ZMobSpawnEvent.CheckSpawn.Lowest event) { Vec3 epos = entity.position(); forgotten.absMoveTo(epos.x, epos.y, epos.z, entity.getYRot(), entity.getXRot()); - forgotten.prepareEquipment(event.getLevel(), event.getLevel().getCurrentDifficultyAt(entity.getOnPos())); + forgotten.prepareEquipment(event.getLevel().registryAccess(), event.getLevel().getCurrentDifficultyAt(entity.getOnPos())); BlockPos pos = BlockPos.containing(event.getX(), event.getY(), event.getZ()); diff --git a/src/main/java/org/violetmoon/quark/content/tools/client/render/GlintRenderTypes.java b/src/main/java/org/violetmoon/quark/content/tools/client/render/GlintRenderTypes.java index bfcacb9bfc..b793b7bfbb 100644 --- a/src/main/java/org/violetmoon/quark/content/tools/client/render/GlintRenderTypes.java +++ b/src/main/java/org/violetmoon/quark/content/tools/client/render/GlintRenderTypes.java @@ -11,8 +11,6 @@ import org.violetmoon.quark.base.Quark; import org.violetmoon.quark.content.tools.base.RuneColor; -import java.util.EnumMap; -import java.util.HashMap; import java.util.Map; import java.util.function.Function; @@ -96,7 +94,7 @@ private static RenderType buildEntityGlintRenderType(String name) { private static RenderType buildGlintDirectRenderType(String name) { return RenderType.create("glint_direct_" + name, DefaultVertexFormat.POSITION_TEX, VertexFormat.Mode.QUADS, 256, false, false, CompositeState.builder() - .setShaderState(RenderStateShard.RENDERTYPE_GLINT_DIRECT_SHADER) + .setShaderState(RenderStateShard.RENDERTYPE_ENTITY_GLINT_DIRECT_SHADER) .setTextureState(new TextureStateShard(texture(name), true, false)) .setWriteMaskState(RenderStateShard.COLOR_WRITE) .setCullState(RenderStateShard.NO_CULL) @@ -120,7 +118,7 @@ private static RenderType buildEntityGlintDriectRenderType(String name) { private static RenderType buildArmorGlintRenderType(String name) { return RenderType.create("armor_glint_" + name, DefaultVertexFormat.POSITION_TEX, VertexFormat.Mode.QUADS, 256, false, false, CompositeState.builder() - .setShaderState(RenderStateShard.RENDERTYPE_ARMOR_GLINT_SHADER) + .setShaderState(RenderStateShard.RENDERTYPE_ARMOR_ENTITY_GLINT_SHADER) .setTextureState(new TextureStateShard(texture(name), true, false)) .setWriteMaskState(RenderStateShard.COLOR_WRITE) .setCullState(RenderStateShard.NO_CULL) diff --git a/src/main/java/org/violetmoon/quark/content/tools/client/render/QuarkBeaconBlockEntityRenderer.java b/src/main/java/org/violetmoon/quark/content/tools/client/render/QuarkBeaconBlockEntityRenderer.java index e46a478945..08c4366a2a 100644 --- a/src/main/java/org/violetmoon/quark/content/tools/client/render/QuarkBeaconBlockEntityRenderer.java +++ b/src/main/java/org/violetmoon/quark/content/tools/client/render/QuarkBeaconBlockEntityRenderer.java @@ -3,7 +3,6 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.math.Axis; - import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.blockentity.BeaconRenderer; @@ -11,10 +10,8 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; import net.minecraft.world.level.block.entity.BeaconBlockEntity; - import org.joml.Matrix3f; import org.joml.Matrix4f; - import org.violetmoon.quark.content.tools.module.BeaconRedirectionModule; import org.violetmoon.quark.content.tools.module.BeaconRedirectionModule.ExtendedBeamSegment; @@ -78,21 +75,20 @@ private static void renderPart(PoseStack matrixStackIn, VertexConsumer bufferIn, PoseStack.Pose pose = matrixStackIn.last(); Matrix4f matrix4f = pose.pose(); Matrix3f matrix3f = pose.normal(); - addQuad(matrix4f, matrix3f, bufferIn, red, green, blue, alpha, 0, height, x1, y1, x2, y2, u1, u2, v1, v2); - addQuad(matrix4f, matrix3f, bufferIn, red, green, blue, alpha, 0, height, x4, y4, x3, y3, u1, u2, v1, v2); - addQuad(matrix4f, matrix3f, bufferIn, red, green, blue, alpha, 0, height, x2, y2, x4, y4, u1, u2, v1, v2); - addQuad(matrix4f, matrix3f, bufferIn, red, green, blue, alpha, 0, height, x3, y3, x1, y1, u1, u2, v1, v2); + addQuad(matrixStackIn, matrix4f, matrix3f, bufferIn, red, green, blue, alpha, 0, height, x1, y1, x2, y2, u1, u2, v1, v2); + addQuad(matrixStackIn,matrix4f, matrix3f, bufferIn, red, green, blue, alpha, 0, height, x4, y4, x3, y3, u1, u2, v1, v2); + addQuad(matrixStackIn,matrix4f, matrix3f, bufferIn, red, green, blue, alpha, 0, height, x2, y2, x4, y4, u1, u2, v1, v2); + addQuad(matrixStackIn,matrix4f, matrix3f, bufferIn, red, green, blue, alpha, 0, height, x3, y3, x1, y1, u1, u2, v1, v2); } - private static void addQuad(Matrix4f matrixPos, Matrix3f matrixNormal, VertexConsumer bufferIn, float red, float green, float blue, float alpha, int yMin, int yMax, float x1, float z1, float x2, float z2, float u1, float u2, float v1, float v2) { - addVertex(matrixPos, matrixNormal, bufferIn, red, green, blue, alpha, yMax, x1, z1, u2, v1); - addVertex(matrixPos, matrixNormal, bufferIn, red, green, blue, alpha, yMin, x1, z1, u2, v2); - addVertex(matrixPos, matrixNormal, bufferIn, red, green, blue, alpha, yMin, x2, z2, u1, v2); - addVertex(matrixPos, matrixNormal, bufferIn, red, green, blue, alpha, yMax, x2, z2, u1, v1); + private static void addQuad(PoseStack pose, Matrix4f matrixPos, Matrix3f matrixNormal, VertexConsumer bufferIn, float red, float green, float blue, float alpha, int yMin, int yMax, float x1, float z1, float x2, float z2, float u1, float u2, float v1, float v2) { + addVertex(pose, matrixPos, matrixNormal, bufferIn, red, green, blue, alpha, yMax, x1, z1, u2, v1); + addVertex(pose, matrixPos, matrixNormal, bufferIn, red, green, blue, alpha, yMin, x1, z1, u2, v2); + addVertex(pose, matrixPos, matrixNormal, bufferIn, red, green, blue, alpha, yMin, x2, z2, u1, v2); + addVertex(pose, matrixPos, matrixNormal, bufferIn, red, green, blue, alpha, yMax, x2, z2, u1, v1); } - private static void addVertex(Matrix4f matrixPos, Matrix3f matrixNormal, VertexConsumer bufferIn, float red, float green, float blue, float alpha, int y, float x, float z, float texU, float texV) { - bufferIn.vertex(matrixPos, x, (float) y, z).color(red, green, blue, alpha).uv(texU, texV).overlayCoords(OverlayTexture.NO_OVERLAY).uv2(15728880).normal(matrixNormal, 0.0F, 1.0F, 0.0F).endVertex(); + private static void addVertex(PoseStack pose, Matrix4f matrixPos, Matrix3f matrixNormal, VertexConsumer bufferIn, float red, float green, float blue, float alpha, int y, float x, float z, float texU, float texV) { + bufferIn.addVertex(matrixPos, x, (float) y, z).setColor(red, green, blue, alpha).setUv(texU, texV).setOverlay(OverlayTexture.NO_OVERLAY).setLight(15728880).setNormal(pose.last(), 0.0F, 1.0F, 0.0F); } - } diff --git a/src/main/java/org/violetmoon/quark/content/tools/config/PickarangType.java b/src/main/java/org/violetmoon/quark/content/tools/config/PickarangType.java index 857a06ccf9..015e2887c0 100644 --- a/src/main/java/org/violetmoon/quark/content/tools/config/PickarangType.java +++ b/src/main/java/org/violetmoon/quark/content/tools/config/PickarangType.java @@ -77,7 +77,7 @@ public PickarangType canActAsShovel(boolean shovel) { } public boolean isFireResistant() { - return pickaxeEquivalent != null && pickaxeEquivalent.isFireResistant(); + return pickaxeEquivalent != null && pickaxeEquivalent.fireImmune(); } public EntityType getEntityType() { diff --git a/src/main/java/org/violetmoon/quark/content/tools/item/PathfindersQuillItem.java b/src/main/java/org/violetmoon/quark/content/tools/item/PathfindersQuillItem.java index 8fad16503e..0ec644a455 100644 --- a/src/main/java/org/violetmoon/quark/content/tools/item/PathfindersQuillItem.java +++ b/src/main/java/org/violetmoon/quark/content/tools/item/PathfindersQuillItem.java @@ -32,9 +32,9 @@ import net.minecraft.world.level.saveddata.maps.MapDecoration.Type; import net.minecraft.world.level.saveddata.maps.MapItemSavedData; import net.minecraft.world.phys.Vec3; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.api.distmarker.OnlyIn; import org.jetbrains.annotations.Nullable; import org.violetmoon.quark.base.Quark; @@ -415,7 +415,7 @@ public List appendItemsToCreativeTab() { @Override @OnlyIn(Dist.CLIENT) - public void appendHoverText(ItemStack stack, Level level, List comps, TooltipFlag flags) { + public void appendHoverText(ItemStack stack, TooltipContext p_339594_, List comps, TooltipFlag flags) { ResourceLocation biome = this.getTarget(stack); if(biome != null) { if(ItemNBTHelper.getBoolean(stack, TAG_IS_SEARCHING, false)) @@ -427,8 +427,7 @@ public void appendHoverText(ItemStack stack, Level level, List comps, } //new concurrent search stuff. Experimental - private record Key(GlobalPos pos, ResourceLocation structure) { - } + private record Key(GlobalPos pos, ResourceLocation structure) {} private static final Map> RESULTS = new ConcurrentHashMap<>(); private static final Set COMPUTING = ConcurrentHashMap.newKeySet(); diff --git a/src/main/java/org/violetmoon/quark/content/tools/item/TrowelItem.java b/src/main/java/org/violetmoon/quark/content/tools/item/TrowelItem.java index b15897ce25..41ccc85ef2 100644 --- a/src/main/java/org/violetmoon/quark/content/tools/item/TrowelItem.java +++ b/src/main/java/org/violetmoon/quark/content/tools/item/TrowelItem.java @@ -1,11 +1,14 @@ package org.violetmoon.quark.content.tools.item; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -import com.mojang.datafixers.util.Pair; -import net.minecraft.world.InteractionResultHolder; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Inventory; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.*; +import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.phys.BlockHitResult; import org.jetbrains.annotations.NotNull; import org.violetmoon.quark.api.ITrowelable; import org.violetmoon.quark.api.IUsageTickerOverride; @@ -16,19 +19,9 @@ import org.violetmoon.zeta.util.ItemNBTHelper; import org.violetmoon.zeta.util.MiscUtil; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; -import net.minecraft.world.entity.player.Inventory; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.CreativeModeTabs; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; -import net.minecraft.world.item.context.BlockPlaceContext; -import net.minecraft.world.item.context.UseOnContext; -import net.minecraft.world.phys.BlockHitResult; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; public class TrowelItem extends ZetaItem implements IUsageTickerOverride { diff --git a/src/main/java/org/violetmoon/quark/content/tools/loot/EnchantTome.java b/src/main/java/org/violetmoon/quark/content/tools/loot/EnchantTome.java index ccf376205d..e40fda631d 100644 --- a/src/main/java/org/violetmoon/quark/content/tools/loot/EnchantTome.java +++ b/src/main/java/org/violetmoon/quark/content/tools/loot/EnchantTome.java @@ -16,6 +16,8 @@ import org.violetmoon.quark.content.tools.module.AncientTomesModule; +import java.util.List; + import static org.violetmoon.quark.content.tools.module.AncientTomesModule.validEnchants; /** @@ -24,7 +26,7 @@ */ public class EnchantTome extends LootItemConditionalFunction { public EnchantTome(LootItemCondition[] conditions) { - super(conditions); + super(List.of(conditions)); } @Override diff --git a/src/main/java/org/violetmoon/quark/content/tools/module/SkullPikesModule.java b/src/main/java/org/violetmoon/quark/content/tools/module/SkullPikesModule.java index 98647c740b..e73a948ab5 100644 --- a/src/main/java/org/violetmoon/quark/content/tools/module/SkullPikesModule.java +++ b/src/main/java/org/violetmoon/quark/content/tools/module/SkullPikesModule.java @@ -85,7 +85,7 @@ public void onPlaceBlock(ZBlock.EntityPlace event) { @PlayEvent public void onMonsterAppear(ZEntityJoinLevel event) { Entity e = event.getEntity(); - if(e instanceof Monster monster && !(e instanceof PatrollingMonster) && !(e instanceof Warden) && e.canChangeDimensions() && e.isAlive()) { + if(e instanceof Monster monster && !(e instanceof PatrollingMonster) && !(e instanceof Warden) && e.canUsePortal() && e.isAlive()) { boolean alreadySetUp = monster.goalSelector.getAvailableGoals().stream().anyMatch((goal) -> goal.getGoal() instanceof RunAwayFromPikesGoal); if(!alreadySetUp) diff --git a/src/main/java/org/violetmoon/quark/content/tools/recipe/SmithingRuneRecipe.java b/src/main/java/org/violetmoon/quark/content/tools/recipe/SmithingRuneRecipe.java index 2f7f7e4e9a..687731b84a 100644 --- a/src/main/java/org/violetmoon/quark/content/tools/recipe/SmithingRuneRecipe.java +++ b/src/main/java/org/violetmoon/quark/content/tools/recipe/SmithingRuneRecipe.java @@ -3,17 +3,19 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonSyntaxException; +import net.minecraft.core.HolderLookup; import net.minecraft.core.RegistryAccess; +import net.minecraft.core.component.DataComponents; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.GsonHelper; import net.minecraft.util.RandomSource; -import net.minecraft.world.Container; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.RecipeSerializer; +import net.minecraft.world.item.crafting.SmithingRecipeInput; import net.minecraft.world.item.crafting.SmithingTrimRecipe; import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraft.world.item.enchantment.Enchantments; @@ -48,7 +50,7 @@ private static ItemStack makeEnchantedDisplayItem(ItemStack input) { ItemStack stack = input.copy(); stack.hideTooltipPart(ItemStack.TooltipPart.ENCHANTMENTS); stack.hideTooltipPart(ItemStack.TooltipPart.MODIFIERS); - stack.setHoverName(Component.translatable("quark.jei.any_enchanted")); + stack.set(DataComponents.CUSTOM_NAME, Component.translatable("quark.jei.any_enchanted")); if(Quark.ZETA.itemExtensions.get(stack).getEnchantmentValueZeta(stack) <= 0) { // If it can't take anything in ench. tables... stack.enchant(Enchantments.UNBREAKING, 3); // it probably accepts unbreaking anyways return stack; @@ -85,14 +87,13 @@ private SmithingRuneRecipe(ResourceLocation id, Ingredient template, Ingredient } @Override - public boolean matches(Container container, @Nonnull Level level) { - return isTemplateIngredient(container.getItem(0)) && isBaseIngredient(container.getItem(1)) && isAdditionIngredient(container.getItem(2)); + public boolean matches(SmithingRecipeInput input, Level level) { + return isTemplateIngredient(input.getItem(0)) && isBaseIngredient(input.getItem(1)) && isAdditionIngredient(input.getItem(2)); } - @Nonnull @Override - public ItemStack assemble(Container container, @Nonnull RegistryAccess registry) { - ItemStack baseItem = container.getItem(1); + public ItemStack assemble(SmithingRecipeInput input, HolderLookup.Provider provider) { + ItemStack baseItem = input.getItem(1); if (isBaseIngredient(baseItem)) { if (ColorRunesModule.getStackColor(baseItem) == runeColor) return ItemStack.EMPTY; @@ -101,13 +102,12 @@ public ItemStack assemble(Container container, @Nonnull RegistryAccess registry) newStack.setCount(1); return ColorRunesModule.withRune(newStack, runeColor); } - return ItemStack.EMPTY; } @Nonnull @Override - public ItemStack getResultItem(@Nonnull RegistryAccess registry) { + public ItemStack getResultItem(@Nonnull HolderLookup.Provider provider) { ItemStack displayStack = makeEnchantedDisplayItem(new ItemStack(Items.IRON_CHESTPLATE)); ColorRunesModule.withRune(displayStack, runeColor); @@ -131,12 +131,6 @@ public boolean isAdditionIngredient(@Nonnull ItemStack stack) { return this.addition.test(stack); } - @Nonnull - @Override - public ResourceLocation getId() { - return this.id; - } - @Nonnull @Override public RecipeSerializer getSerializer() { diff --git a/src/main/java/org/violetmoon/quark/content/tweaks/block/DirtyGlassBlock.java b/src/main/java/org/violetmoon/quark/content/tweaks/block/DirtyGlassBlock.java index 52f0a43255..2c633da764 100644 --- a/src/main/java/org/violetmoon/quark/content/tweaks/block/DirtyGlassBlock.java +++ b/src/main/java/org/violetmoon/quark/content/tweaks/block/DirtyGlassBlock.java @@ -29,7 +29,7 @@ public DirtyGlassBlock(String regname, @Nullable ZetaModule module, Properties p @Nullable @Override - public float[] getBeaconColorMultiplierZeta(BlockState state, LevelReader world, BlockPos pos, BlockPos beaconPos) { + public Integer getBeaconColorMultiplierZeta(BlockState state, LevelReader world, BlockPos pos, BlockPos beaconPos) { return BEACON_COLOR_MULTIPLIER; } diff --git a/src/main/java/org/violetmoon/quark/content/tweaks/client/layer/ArmorStandFakePlayerLayer.java b/src/main/java/org/violetmoon/quark/content/tweaks/client/layer/ArmorStandFakePlayerLayer.java index 61a77b2fad..886e252e73 100644 --- a/src/main/java/org/violetmoon/quark/content/tweaks/client/layer/ArmorStandFakePlayerLayer.java +++ b/src/main/java/org/violetmoon/quark/content/tweaks/client/layer/ArmorStandFakePlayerLayer.java @@ -93,7 +93,7 @@ public void render(@NotNull PoseStack pose, @NotNull MultiBufferSource buffer, i rotateModel(model.leftPants, armor.getLeftLegPose()); rotateModel(model.rightPants, armor.getRightLegPose()); - model.renderToBuffer(pose, buffer.getBuffer(rendertype), light, OverlayTexture.NO_OVERLAY, 1.0F, 1.0F, 1.0F, 1.0F); + model.renderToBuffer(pose, buffer.getBuffer(rendertype), light, OverlayTexture.NO_OVERLAY, 1); pose.popPose(); } diff --git a/src/main/java/org/violetmoon/quark/content/tweaks/client/render/entity/DyedItemFrameRenderer.java b/src/main/java/org/violetmoon/quark/content/tweaks/client/render/entity/DyedItemFrameRenderer.java index 20456b227b..a61dc776b4 100644 --- a/src/main/java/org/violetmoon/quark/content/tweaks/client/render/entity/DyedItemFrameRenderer.java +++ b/src/main/java/org/violetmoon/quark/content/tweaks/client/render/entity/DyedItemFrameRenderer.java @@ -2,7 +2,6 @@ import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Axis; - import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.Sheets; @@ -15,6 +14,7 @@ import net.minecraft.client.resources.model.ModelResourceLocation; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.component.DataComponents; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.inventory.InventoryMenu; @@ -24,55 +24,53 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.saveddata.maps.MapItemSavedData; import net.minecraft.world.phys.Vec3; - import org.jetbrains.annotations.NotNull; - import org.violetmoon.quark.base.Quark; import org.violetmoon.quark.content.tweaks.entity.DyedItemFrame; // yes this shit again public class DyedItemFrameRenderer extends EntityRenderer { - private static final ModelResourceLocation FRAME_LOCATION = new ModelResourceLocation(Quark.MOD_ID, "extra/dyed_item_frame", "inventory"); - private static final ModelResourceLocation MAP_FRAME_LOCATION = new ModelResourceLocation(Quark.MOD_ID, "extra/dyed_item_frame_map", "inventory"); + private static final ModelResourceLocation FRAME_LOCATION = ModelResourceLocation.inventory(Quark.asResource("extra/dyed_item_frame")); + private static final ModelResourceLocation MAP_FRAME_LOCATION = ModelResourceLocation.inventory(Quark.asResource("extra/dyed_item_frame_map")); public static final int GLOW_FRAME_BRIGHTNESS = 5; public static final int BRIGHT_MAP_LIGHT_ADJUSTMENT = 30; private final ItemRenderer itemRenderer; private final BlockRenderDispatcher blockRenderer; - public DyedItemFrameRenderer(EntityRendererProvider.Context p_174204_) { - super(p_174204_); - this.itemRenderer = p_174204_.getItemRenderer(); - this.blockRenderer = p_174204_.getBlockRenderDispatcher(); + public DyedItemFrameRenderer(EntityRendererProvider.Context context) { + super(context); + this.itemRenderer = context.getItemRenderer(); + this.blockRenderer = context.getBlockRenderDispatcher(); } @Override - protected int getBlockLightLevel(DyedItemFrame p_174216_, BlockPos p_174217_) { - return p_174216_.isGlow() ? Math.max(5, super.getBlockLightLevel(p_174216_, p_174217_)) : super.getBlockLightLevel(p_174216_, p_174217_); + protected int getBlockLightLevel(DyedItemFrame frame, BlockPos pos) { + return frame.isGlow() ? Math.max(5, super.getBlockLightLevel(frame, pos)) : super.getBlockLightLevel(frame, pos); } @Override - public void render(@NotNull DyedItemFrame dyedItemFrame, float p_115077_, float p_115078_, @NotNull PoseStack poseStack, @NotNull MultiBufferSource multiBufferSource, int p_115081_) { - super.render(dyedItemFrame, p_115077_, p_115078_, poseStack, multiBufferSource, p_115081_); + public void render(@NotNull DyedItemFrame frame, float p_115077_, float p_115078_, @NotNull PoseStack poseStack, @NotNull MultiBufferSource multiBufferSource, int p_115081_) { + super.render(frame, p_115077_, p_115078_, poseStack, multiBufferSource, p_115081_); poseStack.pushPose(); - Direction direction = dyedItemFrame.getDirection(); - Vec3 vec3 = this.getRenderOffset(dyedItemFrame, p_115078_); + Direction direction = frame.getDirection(); + Vec3 vec3 = this.getRenderOffset(frame, p_115078_); poseStack.translate(-vec3.x(), -vec3.y(), -vec3.z()); poseStack.translate((double) direction.getStepX() * 0.46875D, (double) direction.getStepY() * 0.46875D, (double) direction.getStepZ() * 0.46875D); - poseStack.mulPose(Axis.XP.rotationDegrees(dyedItemFrame.getXRot())); - poseStack.mulPose(Axis.YP.rotationDegrees(180.0F - dyedItemFrame.getYRot())); - boolean flag = dyedItemFrame.isInvisible(); - ItemStack itemstack = dyedItemFrame.getItem(); + poseStack.mulPose(Axis.XP.rotationDegrees(frame.getXRot())); + poseStack.mulPose(Axis.YP.rotationDegrees(180.0F - frame.getYRot())); + boolean flag = frame.isInvisible(); + ItemStack itemstack = frame.getItem(); if(!flag) { ModelManager modelmanager = this.blockRenderer.getBlockModelShaper().getModelManager(); - boolean map = dyedItemFrame.getItem().getItem() instanceof MapItem; + boolean map = frame.getItem().getItem() instanceof MapItem; ModelResourceLocation modelresourcelocation = map ? MAP_FRAME_LOCATION : FRAME_LOCATION; poseStack.pushPose(); poseStack.translate(-0.5D, -0.5D, -0.5D); - int color = dyedItemFrame.getColor(); + int color = frame.getColor(); float r = ((float) ((color >> 16) & 0xFF)) / 255F; float g = ((float) ((color >> 8) & 0xFF)) / 255F; float b = ((float) ((color) & 0xFF)) / 255F; @@ -82,53 +80,51 @@ public void render(@NotNull DyedItemFrame dyedItemFrame, float p_115077_, float } if(!itemstack.isEmpty()) { - MapItemSavedData mapitemsaveddata = MapItem.getSavedData(itemstack, dyedItemFrame.level()); + MapItemSavedData data = MapItem.getSavedData(itemstack, frame.level()); if(flag) { poseStack.translate(0.0D, 0.0D, 0.5D); } else { poseStack.translate(0.0D, 0.0D, 0.4375D); } - int j = mapitemsaveddata != null ? dyedItemFrame.getRotation() % 4 * 2 : dyedItemFrame.getRotation(); + int j = data != null ? frame.getRotation() % 4 * 2 : frame.getRotation(); poseStack.mulPose(Axis.ZP.rotationDegrees((float) j * 360.0F / 8.0F)); - if(mapitemsaveddata != null) { + if(data != null) { poseStack.mulPose(Axis.ZP.rotationDegrees(180.0F)); poseStack.scale(0.0078125F, 0.0078125F, 0.0078125F); poseStack.translate(-64.0D, -64.0D, 0.0D); poseStack.translate(0.0D, 0.0D, -1.0D); - if(mapitemsaveddata != null) { - int i = this.getLightVal(dyedItemFrame, 15728850, p_115081_); - Minecraft.getInstance().gameRenderer.getMapRenderer().render(poseStack, multiBufferSource, dyedItemFrame.getFramedMapId().getAsInt(), mapitemsaveddata, true, i); - } - } else { - int k = this.getLightVal(dyedItemFrame, 15728880, p_115081_); + int i = this.getLightVal(frame, 15728850, p_115081_); + Minecraft.getInstance().gameRenderer.getMapRenderer().render(poseStack, multiBufferSource, frame.getFramedMapId(itemstack), data, true, i); + } else { + int k = this.getLightVal(frame, 15728880, p_115081_); poseStack.scale(0.5F, 0.5F, 0.5F); - this.itemRenderer.renderStatic(itemstack, ItemDisplayContext.FIXED, k, OverlayTexture.NO_OVERLAY, poseStack, multiBufferSource, Minecraft.getInstance().level, dyedItemFrame.getId()); + this.itemRenderer.renderStatic(itemstack, ItemDisplayContext.FIXED, k, OverlayTexture.NO_OVERLAY, poseStack, multiBufferSource, Minecraft.getInstance().level, frame.getId()); } } poseStack.popPose(); } - private int getLightVal(DyedItemFrame p_174209_, int p_174210_, int p_174211_) { - return p_174209_.isGlow() ? p_174210_ : p_174211_; + private int getLightVal(DyedItemFrame frame, int p_174210_, int p_174211_) { + return frame.isGlow() ? p_174210_ : p_174211_; } @Override - public Vec3 getRenderOffset(DyedItemFrame p_115073_, float p_115074_) { - return new Vec3((float) p_115073_.getDirection().getStepX() * 0.3F, -0.25D, (float) p_115073_.getDirection().getStepZ() * 0.3F); + public Vec3 getRenderOffset(DyedItemFrame frame, float p_115074_) { + return new Vec3((float) frame.getDirection().getStepX() * 0.3F, -0.25D, (float) frame.getDirection().getStepZ() * 0.3F); } @Override - public ResourceLocation getTextureLocation(DyedItemFrame p_115071_) { + public ResourceLocation getTextureLocation(DyedItemFrame frame) { return InventoryMenu.BLOCK_ATLAS; } @Override - protected boolean shouldShowName(DyedItemFrame p_115091_) { - if(Minecraft.renderNames() && !p_115091_.getItem().isEmpty() && p_115091_.getItem().hasCustomHoverName() && this.entityRenderDispatcher.crosshairPickEntity == p_115091_) { - double d0 = this.entityRenderDispatcher.distanceToSqr(p_115091_); - float f = p_115091_.isDiscrete() ? 32.0F : 64.0F; + protected boolean shouldShowName(DyedItemFrame frame) { + if(Minecraft.renderNames() && !frame.getItem().isEmpty() && frame.getItem().has(DataComponents.CUSTOM_NAME) && this.entityRenderDispatcher.crosshairPickEntity == frame) { + double d0 = this.entityRenderDispatcher.distanceToSqr(frame); + float f = frame.isDiscrete() ? 32.0F : 64.0F; return d0 < (double) (f * f); } else { return false; @@ -136,7 +132,7 @@ protected boolean shouldShowName(DyedItemFrame p_115091_) { } @Override - protected void renderNameTag(DyedItemFrame p_115083_, Component p_115084_, PoseStack p_115085_, MultiBufferSource p_115086_, int p_115087_) { - super.renderNameTag(p_115083_, p_115083_.getItem().getHoverName(), p_115085_, p_115086_, p_115087_); + protected void renderNameTag(DyedItemFrame frame, Component component, PoseStack poseStack, MultiBufferSource bufferSource, int p_115087_, float p_316698_) { + super.renderNameTag(frame, frame.getItem().getHoverName(), poseStack, bufferSource, p_115087_, p_316698_); } } diff --git a/src/main/java/org/violetmoon/quark/content/tweaks/entity/DyedItemFrame.java b/src/main/java/org/violetmoon/quark/content/tweaks/entity/DyedItemFrame.java index 0c6f575dbe..b04710545b 100644 --- a/src/main/java/org/violetmoon/quark/content/tweaks/entity/DyedItemFrame.java +++ b/src/main/java/org/violetmoon/quark/content/tweaks/entity/DyedItemFrame.java @@ -12,7 +12,6 @@ import net.minecraft.world.entity.decoration.ItemFrame; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; -import net.minecraft.world.item.component.DyedItemColor; import net.minecraft.world.level.Level; import org.violetmoon.quark.base.Quark; import org.violetmoon.quark.content.tweaks.module.DyeableItemFramesModule; @@ -59,7 +58,7 @@ public void readAdditionalSaveData(CompoundTag cmp) { getEntityData().set(DATA_GLOW, cmp.getBoolean(TAG_GLOW)); } - public DyedItemColor getColor() { + public Integer getColor() { return getEntityData().get(DATA_COLOR); } diff --git a/src/main/java/org/violetmoon/quark/content/tweaks/module/DoubleDoorOpeningModule.java b/src/main/java/org/violetmoon/quark/content/tweaks/module/DoubleDoorOpeningModule.java index 718e6a23b7..64057b4672 100644 --- a/src/main/java/org/violetmoon/quark/content/tweaks/module/DoubleDoorOpeningModule.java +++ b/src/main/java/org/violetmoon/quark/content/tweaks/module/DoubleDoorOpeningModule.java @@ -2,15 +2,12 @@ import com.google.common.base.Predicate; import com.google.common.base.Predicates; - import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.registries.Registries; -import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.BlockTags; import net.minecraft.tags.ItemTags; import net.minecraft.tags.TagKey; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; @@ -26,14 +23,13 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.Vec3; - +import net.neoforged.neoforge.common.util.TriState; import org.violetmoon.quark.base.Quark; import org.violetmoon.quark.base.QuarkClient; import org.violetmoon.quark.base.network.message.DoubleDoorMessage; import org.violetmoon.zeta.config.Config; import org.violetmoon.zeta.event.bus.LoadEvent; import org.violetmoon.zeta.event.bus.PlayEvent; -import org.violetmoon.zeta.event.bus.ZResult; import org.violetmoon.zeta.event.load.ZCommonSetup; import org.violetmoon.zeta.event.play.entity.player.ZRightClickBlock; import org.violetmoon.zeta.module.ZetaLoadModule; @@ -109,7 +105,7 @@ private boolean tryOpen(Level level, Player player, BlockState state, BlockPos o BlockHitResult res = new BlockHitResult(new Vec3(otherPos.getX() + 0.5, otherPos.getY() + 0.5, otherPos.getZ() + 0.5), direction, otherPos, false); if(res.getType() == HitResult.Type.BLOCK) { - InteractionResult interaction = other.use(level, player, InteractionHand.MAIN_HAND, res); + InteractionResult interaction = other.useWithoutItem(level, player, res); return interaction != InteractionResult.PASS; } } @@ -122,14 +118,17 @@ public static class Client extends DoubleDoorOpeningModule { @PlayEvent public void onPlayerInteract(ZRightClickBlock.Low event) { Player player = event.getPlayer(); - if(!event.getLevel().isClientSide || player.isDiscrete() || event.isCanceled() || event.getResult() == ZResult.DENY || event.getUseBlock() == ZResult.DENY || handling) + if(!event.getLevel().isClientSide || player.isDiscrete() || event.isCanceled() || event.getCancellationResult() == InteractionResult.FAIL + || event.getUseBlock() == TriState.FALSE || handling) return; Level world = event.getLevel(); BlockPos pos = event.getPos(); + /* // TODO: TODO: Wait for Neoforge Flan or remove if(!Quark.FLAN_INTEGRATION.canInteract(player, pos)) return; + */ handling = true; boolean opened = openBlock(world, player, pos); diff --git a/src/main/java/org/violetmoon/quark/content/tweaks/module/DyeableItemFramesModule.java b/src/main/java/org/violetmoon/quark/content/tweaks/module/DyeableItemFramesModule.java index aa4e1553c5..4d82a176bf 100644 --- a/src/main/java/org/violetmoon/quark/content/tweaks/module/DyeableItemFramesModule.java +++ b/src/main/java/org/violetmoon/quark/content/tweaks/module/DyeableItemFramesModule.java @@ -4,8 +4,8 @@ import net.minecraft.client.resources.model.ModelResourceLocation; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.component.DataComponents; import net.minecraft.core.registries.Registries; -import net.minecraft.nbt.CompoundTag; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.EntityType; @@ -15,6 +15,7 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; +import net.minecraft.world.item.component.CustomData; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.state.BlockState; @@ -95,11 +96,11 @@ private InteractionResult useOn(UseOnContext context) { return InteractionResult.FAIL; Level level = context.getLevel(); - HangingEntity hangingentity = new DyedItemFrame(level, blockpos1, direction, Quark.ZETA.dyeables.getDye(itemstack), itemstack.is(Items.GLOW_ITEM_FRAME)); + HangingEntity hangingentity = new DyedItemFrame(level, blockpos1, direction, Quark.ZETA.dyeables.getDye(itemstack).rgb(), itemstack.is(Items.GLOW_ITEM_FRAME)); - CompoundTag compoundtag = itemstack.getTag(); - if(compoundtag != null) - EntityType.updateCustomEntityTag(level, player, hangingentity, compoundtag); + CustomData customData = itemstack.get(DataComponents.CUSTOM_DATA); + if(customData != null) + EntityType.updateCustomEntityTag(level, player, hangingentity, customData); if(hangingentity.survives()) { if(!level.isClientSide) { @@ -126,8 +127,8 @@ public static class Client extends DyeableItemFramesModule { @LoadEvent public void registerAdditionalModels(ZAddModels event) { - event.register(new ModelResourceLocation(Quark.MOD_ID, "extra/dyed_item_frame", "inventory")); - event.register(new ModelResourceLocation(Quark.MOD_ID, "extra/dyed_item_frame_map", "inventory")); + event.register(ModelResourceLocation.inventory(Quark.asResource("extra/dyed_item_frame"))); + event.register(ModelResourceLocation.inventory(Quark.asResource("extra/dyed_item_frame_map"))); } @LoadEvent diff --git a/src/main/java/org/violetmoon/quark/content/tweaks/module/RenewableSporeBlossomsModule.java b/src/main/java/org/violetmoon/quark/content/tweaks/module/RenewableSporeBlossomsModule.java index 6629fd5c2b..ec081135a5 100644 --- a/src/main/java/org/violetmoon/quark/content/tweaks/module/RenewableSporeBlossomsModule.java +++ b/src/main/java/org/violetmoon/quark/content/tweaks/module/RenewableSporeBlossomsModule.java @@ -28,8 +28,8 @@ public void onBoneMealed(ZBonemeal event) { if(event.getBlock().is(Blocks.SPORE_BLOSSOM) && boneMealChance > 0) { if(Math.random() < boneMealChance) Block.popResource(event.getLevel(), event.getPos(), new ItemStack(Items.SPORE_BLOSSOM)); - - event.setResult(ZResult.ALLOW); + + event.setSuccessful(true); } } diff --git a/src/main/java/org/violetmoon/quark/content/tweaks/module/ZombieVillagersOnNormalModule.java b/src/main/java/org/violetmoon/quark/content/tweaks/module/ZombieVillagersOnNormalModule.java index 73a0a359a0..484daa0993 100644 --- a/src/main/java/org/violetmoon/quark/content/tweaks/module/ZombieVillagersOnNormalModule.java +++ b/src/main/java/org/violetmoon/quark/content/tweaks/module/ZombieVillagersOnNormalModule.java @@ -32,7 +32,7 @@ public void onConversion(ZLivingConversion.Pre event) { zombievillager.finalizeSpawn(serverLevel, level.getCurrentDifficultyAt(zombievillager.blockPosition()), MobSpawnType.CONVERSION, new Zombie.ZombieGroupData(false, true)); zombievillager.setVillagerData(villager.getVillagerData()); zombievillager.setGossips(villager.getGossips().store(NbtOps.INSTANCE)); - zombievillager.setTradeOffers(villager.getOffers().createTag()); + zombievillager.setTradeOffers(villager.getOffers().copy()); zombievillager.setVillagerXp(villager.getVillagerXp()); EventHooks.onLivingConvert(villager, zombievillager); diff --git a/src/main/java/org/violetmoon/quark/content/world/block/CorundumBlock.java b/src/main/java/org/violetmoon/quark/content/world/block/CorundumBlock.java index 7573542c34..da8311853f 100644 --- a/src/main/java/org/violetmoon/quark/content/world/block/CorundumBlock.java +++ b/src/main/java/org/violetmoon/quark/content/world/block/CorundumBlock.java @@ -123,8 +123,7 @@ public void animateTick(@NotNull BlockState stateIn, @NotNull Level worldIn, @No @Nullable @Override - public float[] getBeaconColorMultiplierZeta(BlockState state, LevelReader world, BlockPos pos, BlockPos beaconPos) { + public Integer getBeaconColorMultiplierZeta(BlockState state, LevelReader world, BlockPos pos, BlockPos beaconPos) { return colorComponents; } - } diff --git a/src/main/java/org/violetmoon/quark/content/world/block/MyaliteCrystalBlock.java b/src/main/java/org/violetmoon/quark/content/world/block/MyaliteCrystalBlock.java index a69747a279..0c562a5ccd 100644 --- a/src/main/java/org/violetmoon/quark/content/world/block/MyaliteCrystalBlock.java +++ b/src/main/java/org/violetmoon/quark/content/world/block/MyaliteCrystalBlock.java @@ -6,9 +6,7 @@ import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockState; - import org.jetbrains.annotations.Nullable; - import org.violetmoon.zeta.block.OldMaterials; import org.violetmoon.zeta.block.ZetaGlassBlock; import org.violetmoon.zeta.module.ZetaModule; @@ -32,17 +30,10 @@ public MyaliteCrystalBlock(@Nullable ZetaModule module) { setCreativeTab(CreativeModeTabs.NATURAL_BLOCKS); } - private static float[] decompColor(int color) { - int r = (color & 0xFF0000) >> 16; - int g = (color & 0xFF00) >> 8; - int b = color & 0xFF; - return new float[] { (float) r / 255.0F, (float) g / 255.0F, (float) b / 255.0F }; - } - @Nullable @Override - public float[] getBeaconColorMultiplierZeta(BlockState state, LevelReader world, BlockPos pos, BlockPos beaconPos) { - return decompColor(MyaliteColorLogic.getColor(pos)); + public Integer getBeaconColorMultiplierZeta(BlockState state, LevelReader world, BlockPos pos, BlockPos beaconPos) { + return MyaliteColorLogic.getColor(pos); } @Override diff --git a/src/main/java/org/violetmoon/quark/integration/lootr/LootrVariantChestBlock.java b/src/main/java/org/violetmoon/quark/integration/lootr/LootrVariantChestBlock.java index f5d37d903c..fd6cd99fb8 100644 --- a/src/main/java/org/violetmoon/quark/integration/lootr/LootrVariantChestBlock.java +++ b/src/main/java/org/violetmoon/quark/integration/lootr/LootrVariantChestBlock.java @@ -6,7 +6,6 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.tags.TagKey; import net.minecraft.util.RandomSource; -import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.MenuProvider; import net.minecraft.world.entity.player.Player; @@ -31,7 +30,6 @@ import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -import noobanidus.mods.lootr.block.entities.LootrChestBlockEntity; import noobanidus.mods.lootr.common.api.LootrTags; import noobanidus.mods.lootr.common.block.entity.LootrChestBlockEntity; import noobanidus.mods.lootr.neoforge.config.ConfigManager; @@ -68,8 +66,8 @@ public float getExplosionResistance() { } @Override - public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult trace) { - if(player.isShiftKeyDown()) { + public InteractionResult useWithoutItem(BlockState state, Level world, BlockPos pos, Player player, BlockHitResult trace) { + if (player.isShiftKeyDown()) { ChestUtil.handleLootSneak(this, world, pos, player); } else if(!ChestBlock.isChestBlockedAt(world, pos)) { ChestUtil.handleLootChest(this, world, pos, player); @@ -178,7 +176,7 @@ public InteractionResult onItemUseFirstZeta(ItemStack stack, UseOnContext contex level.levelEvent(LevelEvent.PARTICLES_DESTROY_BLOCK, pos, Block.getId(state)); BlockEntity newEntity = level.getBlockEntity(pos); if(newEntity != null && nbt != null) - newEntity.load(nbt); + newEntity.loadWithComponents(nbt, level.registryAccess()); return InteractionResult.sidedSuccess(level.isClientSide); } diff --git a/src/main/java/org/violetmoon/quark/integration/lootr/LootrVariantChestBlockEntity.java b/src/main/java/org/violetmoon/quark/integration/lootr/LootrVariantChestBlockEntity.java index 391497969a..af44690415 100644 --- a/src/main/java/org/violetmoon/quark/integration/lootr/LootrVariantChestBlockEntity.java +++ b/src/main/java/org/violetmoon/quark/integration/lootr/LootrVariantChestBlockEntity.java @@ -4,11 +4,9 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.AABB; - +import noobanidus.mods.lootr.common.block.entity.LootrChestBlockEntity; import org.violetmoon.quark.base.Quark; -import noobanidus.mods.lootr.block.entities.LootrChestBlockEntity; - /** * @author WireSegal * Created at 11:32 AM on 7/3/23. diff --git a/src/main/java/org/violetmoon/quark/mixin/mixins/ItemStackMixin.java b/src/main/java/org/violetmoon/quark/mixin/mixins/ItemStackMixin.java index 96fc9cf2c9..fc8ec3a4a0 100644 --- a/src/main/java/org/violetmoon/quark/mixin/mixins/ItemStackMixin.java +++ b/src/main/java/org/violetmoon/quark/mixin/mixins/ItemStackMixin.java @@ -17,6 +17,7 @@ import net.minecraft.world.entity.ai.attributes.Attribute; import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Rarity; import net.minecraft.world.item.TooltipFlag; @@ -50,7 +51,8 @@ private Rarity getRarity(Rarity prev) { } @Inject(method = "getTooltipLines", at = @At("HEAD")) - private void hasTagIfBaked(Player player, TooltipFlag flag, CallbackInfoReturnable> cir, @Share("removedEnchantments") LocalBooleanRef ref) { + private void hasTagIfBaked(Item.TooltipContext context, Player player, TooltipFlag flag, CallbackInfoReturnable> cir, + @Share("removedEnchantments") LocalBooleanRef ref) { ItemStack self = (ItemStack) (Object) this; if(!self.hasTag() && GoldToolsHaveFortuneModule.shouldShowEnchantments(self)) { ref.set(true); diff --git a/src/main/java/org/violetmoon/quark/mixin/mixins/self/IZetaBlockMixin_FAKE.java b/src/main/java/org/violetmoon/quark/mixin/mixins/self/IZetaBlockMixin_FAKE.java index bdda99c6fc..a7552518d0 100644 --- a/src/main/java/org/violetmoon/quark/mixin/mixins/self/IZetaBlockMixin_FAKE.java +++ b/src/main/java/org/violetmoon/quark/mixin/mixins/self/IZetaBlockMixin_FAKE.java @@ -8,23 +8,21 @@ import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.LevelReader; +import net.minecraft.world.level.block.BeaconBeamBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.FluidState; -import net.minecraftforge.common.IPlantable; -import net.minecraftforge.common.ToolAction; -import net.minecraftforge.common.extensions.IForgeBlock; +import net.neoforged.neoforge.common.ItemAbility; +import net.neoforged.neoforge.common.extensions.IBlockExtension; +import net.neoforged.neoforge.common.util.TriState; import org.jetbrains.annotations.Nullable; import org.spongepowered.asm.mixin.Mixin; import org.violetmoon.quark.addons.oddities.block.MatrixEnchantingTableBlock; import org.violetmoon.quark.content.automation.block.IronRodBlock; import org.violetmoon.quark.content.building.block.*; import org.violetmoon.quark.content.world.block.HugeGlowShroomBlock; -import org.violetmoon.zeta.block.*; import org.violetmoon.zeta.block.ext.IZetaBlockExtensions; -import java.util.Locale; - // Forge can't actually mixin to interfaces, so we fake it by just... mixing in to everyone inheriting the interface. // Copy of the same class from Zeta for quark blocks @Mixin({ @@ -39,7 +37,7 @@ VariantTrappedChestBlock.class, VerticalSlabBlock.class }) -public class IZetaBlockMixin_FAKE implements IZetaBlockExtensions, IForgeBlock { +public class IZetaBlockMixin_FAKE implements IZetaBlockExtensions, IBlockExtension { @Override public int getLightEmission(BlockState state, BlockGetter level, BlockPos pos) { @@ -57,8 +55,8 @@ public boolean makesOpenTrapdoorAboveClimbable(BlockState state, LevelReader lev } @Override - public boolean canSustainPlant(BlockState state, BlockGetter level, BlockPos pos, Direction facing, IPlantable plantable) { - return canSustainPlantZeta(state, level, pos, facing, plantable.getPlantType(level, pos).getName().toLowerCase(Locale.ROOT)); + public TriState canSustainPlant(BlockState state, BlockGetter level, BlockPos soilPosition, Direction facing, BlockState plant) { + return TriState.DEFAULT; } @Override @@ -77,8 +75,8 @@ public SoundType getSoundType(BlockState state, LevelReader level, BlockPos pos, } @Override - public @Nullable float[] getBeaconColorMultiplier(BlockState state, LevelReader level, BlockPos pos, BlockPos beaconPos) { - return getBeaconColorMultiplierZeta(state, level, pos, beaconPos); + public @Nullable Integer getBeaconColorMultiplier(BlockState state, LevelReader level, BlockPos pos, BlockPos beaconPos) { + return state.getBlock() instanceof BeaconBeamBlock bbeam ? bbeam.getColor().getTextureDiffuseColor() : null; } @Override @@ -117,9 +115,9 @@ public boolean shouldDisplayFluidOverlay(BlockState state, BlockAndTintGetter le } @Override - public @Nullable BlockState getToolModifiedState(BlockState state, UseOnContext context, ToolAction toolAction, boolean simulate) { + public @Nullable BlockState getToolModifiedState(BlockState state, UseOnContext context, ItemAbility toolAction, boolean simulate) { String toolActionName = toolAction.name(); - return getToolModifiedStateZeta(state, context, toolActionName, simulate); + return getToolModifiedStateZeta(state, context, ItemAbility.get(toolActionName), simulate); } @Override diff --git a/src/main/java/org/violetmoon/quark/mixin/mixins/self/IZetaItemMixin_FAKE.java b/src/main/java/org/violetmoon/quark/mixin/mixins/self/IZetaItemMixin_FAKE.java index 01effbf0a0..224bb6dc14 100644 --- a/src/main/java/org/violetmoon/quark/mixin/mixins/self/IZetaItemMixin_FAKE.java +++ b/src/main/java/org/violetmoon/quark/mixin/mixins/self/IZetaItemMixin_FAKE.java @@ -1,31 +1,26 @@ package org.violetmoon.quark.mixin.mixins.self; import net.minecraft.core.BlockPos; +import net.minecraft.core.HolderLookup; import net.minecraft.world.InteractionResult; -import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.entity.monster.EnderMan; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.item.crafting.RecipeType; import net.minecraft.world.item.enchantment.Enchantment; +import net.minecraft.world.item.enchantment.ItemEnchantments; import net.minecraft.world.level.LevelReader; -import net.minecraftforge.common.ToolAction; -import net.minecraftforge.common.ToolActions; -import net.minecraftforge.common.extensions.IForgeItem; -import org.jetbrains.annotations.NotNull; +import net.neoforged.neoforge.common.extensions.IItemExtension; import org.jetbrains.annotations.Nullable; import org.spongepowered.asm.mixin.Mixin; import org.violetmoon.quark.addons.oddities.item.BackpackItem; -import org.violetmoon.zeta.item.ZetaArmorItem; -import org.violetmoon.zeta.item.ZetaBlockItem; -import org.violetmoon.zeta.item.ZetaItem; import org.violetmoon.zeta.item.ext.IZetaItemExtensions; -import java.util.Map; import java.util.function.Consumer; // Forge can't actually mixin to interfaces, so we fake it by just... mixing in to everyone inheriting the interface. @@ -33,7 +28,8 @@ @Mixin({ BackpackItem.class }) -public class IZetaItemMixin_FAKE implements IForgeItem, IZetaItemExtensions { +public class IZetaItemMixin_FAKE implements IItemExtension, IZetaItemExtensions { + @Override public InteractionResult onItemUseFirst(ItemStack stack, UseOnContext context) { return onItemUseFirstZeta(stack, context); @@ -55,8 +51,8 @@ public boolean doesSneakBypassUse(ItemStack stack, LevelReader level, BlockPos p } @Override - public boolean canEquip(ItemStack stack, EquipmentSlot equipmentSlot, Entity entity) { - return canEquipZeta(stack, equipmentSlot, entity); + public boolean canEquip(ItemStack stack, EquipmentSlot armorType, LivingEntity entity) { + return canEquipZeta(stack, armorType, entity); } @Override @@ -64,15 +60,17 @@ public boolean isBookEnchantable(ItemStack stack, ItemStack book) { return isBookEnchantableZeta(stack, book); } + /* TODO: Reimpl in Zeta @Override public @Nullable String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlot slot, String type) { - return getArmorTextureZeta(stack, entity, slot, type); + return getArmorTexture(stack, entity, slot, type); } @Override public int getMaxDamage(ItemStack stack) { - return getMaxDamageZeta(stack); + return getMaxDamage(stack); } + */ @Override public boolean canPerformAction(ItemStack stack, ToolAction toolAction) { @@ -88,18 +86,8 @@ public int getEnchantmentValue(ItemStack stack) { } @Override - public boolean canApplyAtEnchantingTable(ItemStack stack, Enchantment enchantment) { - return canApplyAtEnchantingTableZeta(stack, enchantment); - } - - @Override - public int getEnchantmentLevel(ItemStack stack, Enchantment enchantment) { - return getEnchantmentLevelZeta(stack, enchantment); - } - - @Override - public Map getAllEnchantments(ItemStack stack) { - return getAllEnchantmentsZeta(stack); + public ItemEnchantments getAllEnchantmentsZeta(ItemStack stack, HolderLookup.RegistryLookup lookup) { + return getAllEnchantmentsZeta(stack, lookup); } @Override @@ -113,7 +101,7 @@ public int getBurnTime(ItemStack itemStack, @Nullable RecipeType recipeType) } @Override - public int damageItem(ItemStack stack, int amount, T entity, Consumer onBroken) { + public int damageItem(ItemStack stack, int amount, T entity, Consumer onBroken) { return damageItemZeta(stack, amount, entity, onBroken); } @@ -126,10 +114,4 @@ public boolean isEnderMask(ItemStack stack, Player player, EnderMan endermanEnti public boolean canElytraFly(ItemStack stack, LivingEntity entity) { return canElytraFlyZeta(stack, entity); } - - @Override - public int getDefaultTooltipHideFlags(@NotNull ItemStack stack) { - return getDefaultTooltipHideFlagsZeta(stack); - } - } diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg index b2962ab80b..953e1b266d 100644 --- a/src/main/resources/META-INF/accesstransformer.cfg +++ b/src/main/resources/META-INF/accesstransformer.cfg @@ -1,19 +1,19 @@ public net.minecraft.client.gui.components.toasts.RecipeToast recipes # recipes public net.minecraft.client.gui.components.toasts.ToastComponent queued # queued -public net.minecraft.client.gui.screens.recipebook.GhostRecipe$GhostIngredient f_100161_ # ingredient +public net.minecraft.client.gui.screens.recipebook.GhostRecipe$GhostIngredient ingredient # ingredient public net.minecraft.client.gui.screens.recipebook.RecipeBookComponent ghostRecipe # ghostRecipe -public net.minecraft.client.gui.screens.recipebook.RecipeBookComponent f_100281_ # searchBar -public net.minecraft.client.gui.screens.recipebook.RecipeBookComponent f_100284_ # recipeBookPage -public net.minecraft.client.gui.screens.recipebook.RecipeBookComponent m_100392_()V # updateSearch +public net.minecraft.client.gui.screens.recipebook.RecipeBookComponent searchBox # searchBox +public net.minecraft.client.gui.screens.recipebook.RecipeBookComponent recipeBookPage # recipeBookPage +public net.minecraft.client.gui.screens.recipebook.RecipeBookComponent checkSearchStringUpdate()V # checkSearchStringUpdate public net.minecraft.client.gui.screens.recipebook.RecipeBookPage f_100399_ # recipeLists public net.minecraft.client.multiplayer.PlayerInfo f_105299_ # playerTextures public net.minecraft.client.player.AbstractClientPlayer playerInfo # playerInfo public net.minecraft.client.renderer.LevelRenderer f_109410_ # mapSoundPositions public net.minecraft.client.renderer.entity.LivingEntityRenderer layers # layers -public net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer getArmorModel (Lnet/minecraft/world/entity/EquipmentSlot;)Lnet/minecraft/client/model/HumanoidModel; # getArmorModel +public net.minecraft.client.renderer.entity.layers.HumanoidArmorLayer getArmorModel(Lnet/minecraft/world/entity/EquipmentSlot;)Lnet/minecraft/client/model/HumanoidModel; # getArmorModel public net.minecraft.world.entity.LivingEntity attackStrengthTicker # attackStrengthTicker public net.minecraft.util.random.Weight (I)V # -public net.minecraft.world.entity.LivingEntity f_20899_ # isJumping +public net.minecraft.world.entity.LivingEntity jumping # jumping public net.minecraft.world.entity.LivingEntity f_20922_ # ticksSinceLastSwing public net.minecraft.world.entity.ai.goal.TemptGoal items # items public net.minecraft.world.entity.ai.gossip.GossipContainer gossips # gossips @@ -40,7 +40,7 @@ public net.minecraft.world.level.block.entity.SignBlockEntity f_59721_ # isEdita public-f net.minecraft.world.level.levelgen.StructureSettings f_189361_ #configuredStructures public-f net.minecraft.world.level.levelgen.StructureSettings f_64580_ # DEFAULTS public-f net.minecraft.world.level.levelgen.StructureSettings f_64582_ # structureConfig -public net.minecraft.world.level.block.VineBlock m_57887_(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction;)Z # canSupportAtFace +public net.minecraft.world.level.block.VineBlock canSupportAtFace(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction;)Z # canSupportAtFace public net.minecraft.data.worldgen.biome.OverworldBiomes m_194861_(Lnet/minecraft/world/level/biome/Biome$Precipitation;Lnet/minecraft/world/level/biome/Biome$BiomeCategory;FFLnet/minecraft/world/level/biome/MobSpawnSettings$Builder;Lnet/minecraft/world/level/biome/BiomeGenerationSettings$Builder;Lnet/minecraft/sounds/Music;)Lnet/minecraft/world/level/biome/Biome; # biome public net.minecraft.data.worldgen.biome.OverworldBiomes m_194851_(Lnet/minecraft/world/level/biome/Biome$Precipitation;Lnet/minecraft/world/level/biome/Biome$BiomeCategory;FFIILnet/minecraft/world/level/biome/MobSpawnSettings$Builder;Lnet/minecraft/world/level/biome/BiomeGenerationSettings$Builder;Lnet/minecraft/sounds/Music;)Lnet/minecraft/world/level/biome/Biome; # biome public-f net.minecraft.world.level.block.entity.BlockEntityType validBlocks # validBlocks @@ -68,5 +68,5 @@ public net.minecraft.world.entity.npc.VillagerTrades$ItemsForEmeralds public net.minecraft.world.entity.npc.VillagerTrades$ItemsAndEmeraldsToItems public net.minecraft.world.entity.npc.VillagerTrades$EmeraldForItems public-f net.minecraft.world.entity.npc.VillagerType BY_BIOME # BY_BIOME -public net.minecraft.world.level.levelgen.structure.StructurePiece m_73441_(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/world/level/levelgen/structure/BoundingBox;IIIIIILnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/state/BlockState;Z)V # generateBox +public net.minecraft.world.level.levelgen.structure.StructurePiece generateBox(Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/world/level/levelgen/structure/BoundingBox;IIIIIILnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/state/BlockState;Z)V # generateBox public-f net.minecraft.world.item.Item craftingRemainingItem # craftingRemainingItem \ No newline at end of file