mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2025-08-29 16:47:56 +00:00
Update to FAPI 0.122
- Use new tooltip component registry. This means we can move the tooltip appending magic to Neo only. - Use new chunk level change event. I'm not actually sure if we need this on recent versions (I can't reproduce the monitor update bug that we introduced this to fix), but I've no clue what's changed here.
This commit is contained in:
@@ -16,7 +16,6 @@ import dan200.computercraft.client.model.ExtraModels;
|
||||
import dan200.computercraft.client.platform.FabricModelKey;
|
||||
import dan200.computercraft.core.util.Nullability;
|
||||
import dan200.computercraft.impl.Services;
|
||||
import dan200.computercraft.shared.CommonHooks;
|
||||
import dan200.computercraft.shared.ComputerCraft;
|
||||
import dan200.computercraft.shared.ModRegistry;
|
||||
import dan200.computercraft.shared.config.ConfigSpec;
|
||||
@@ -27,7 +26,6 @@ import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
|
||||
import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback;
|
||||
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
|
||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
|
||||
import net.fabricmc.fabric.api.client.item.v1.ItemTooltipCallback;
|
||||
import net.fabricmc.fabric.api.client.model.loading.v1.PreparableModelLoadingPlugin;
|
||||
import net.fabricmc.fabric.api.client.model.loading.v1.SimpleUnbakedExtraModel;
|
||||
import net.fabricmc.fabric.api.client.model.loading.v1.UnbakedExtraModel;
|
||||
@@ -107,8 +105,6 @@ public class ComputerCraftClient {
|
||||
})
|
||||
)));
|
||||
|
||||
ItemTooltipCallback.EVENT.register(CommonHooks::onItemTooltip);
|
||||
|
||||
((FabricConfigFile) ConfigSpec.clientSpec).load(FabricLoader.getInstance().getConfigDir().resolve(ComputerCraftAPI.MOD_ID + "-client.toml"));
|
||||
}
|
||||
|
||||
|
@@ -1,30 +0,0 @@
|
||||
// SPDX-FileCopyrightText: 2022 The CC: Tweaked Developers
|
||||
//
|
||||
// SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
package dan200.computercraft.mixin;
|
||||
|
||||
import dan200.computercraft.shared.CommonHooks;
|
||||
import net.minecraft.server.level.ChunkHolder;
|
||||
import net.minecraft.server.level.ChunkMap;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import org.jspecify.annotations.Nullable;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
@Mixin(ChunkMap.class)
|
||||
class ChunkMapMixin {
|
||||
@Final
|
||||
@Shadow
|
||||
ServerLevel level;
|
||||
|
||||
@Inject(method = "updateChunkScheduling", at = @At("HEAD"))
|
||||
@SuppressWarnings("unused")
|
||||
private void onUpdateChunkScheduling(long chunkPos, int newLevel, @Nullable ChunkHolder holder, int oldLevel, CallbackInfoReturnable<ChunkHolder> callback) {
|
||||
CommonHooks.onChunkTicketLevelChanged(level, chunkPos, oldLevel, newLevel);
|
||||
}
|
||||
}
|
@@ -34,6 +34,7 @@ import net.fabricmc.fabric.api.event.player.UseBlockCallback;
|
||||
import net.fabricmc.fabric.api.event.registry.DynamicRegistries;
|
||||
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
|
||||
import net.fabricmc.fabric.api.event.registry.RegistryAttribute;
|
||||
import net.fabricmc.fabric.api.item.v1.ComponentTooltipAppenderRegistry;
|
||||
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
|
||||
import net.fabricmc.fabric.api.lookup.v1.block.BlockApiLookup;
|
||||
import net.fabricmc.fabric.api.lookup.v1.item.ItemApiLookup;
|
||||
@@ -43,10 +44,12 @@ import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
|
||||
import net.fabricmc.fabric.api.resource.IdentifiableResourceReloadListener;
|
||||
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
import net.minecraft.core.component.DataComponents;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.server.level.ChunkLevel;
|
||||
import net.minecraft.server.packs.PackType;
|
||||
import net.minecraft.server.packs.resources.PreparableReloadListener;
|
||||
import net.minecraft.server.packs.resources.ResourceManager;
|
||||
@@ -94,6 +97,11 @@ public class ComputerCraft {
|
||||
// Register commands
|
||||
CommandRegistrationCallback.EVENT.register((dispatcher, context, environment) -> CommandComputerCraft.register(dispatcher));
|
||||
|
||||
// Register tooltips
|
||||
for (var tooltip : ModRegistry.DataComponents.TOOLTIP_COMPONENTS) {
|
||||
ComponentTooltipAppenderRegistry.addAfter(DataComponents.LORE, tooltip.get());
|
||||
}
|
||||
|
||||
// Register hooks
|
||||
ServerLifecycleEvents.SERVER_STARTING.register(server -> {
|
||||
((FabricConfigFile) ConfigSpec.serverSpec).load(
|
||||
@@ -111,6 +119,8 @@ public class ComputerCraft {
|
||||
ServerTickEvents.START_SERVER_TICK.register(CommonHooks::onServerTickStart);
|
||||
ServerTickEvents.START_SERVER_TICK.register(s -> CommonHooks.onServerTickEnd());
|
||||
ServerChunkEvents.CHUNK_UNLOAD.register((l, c) -> CommonHooks.onServerChunkUnload(c));
|
||||
ServerChunkEvents.CHUNK_LEVEL_TYPE_CHANGE.register((level, chunk, oldStatus, newStatus) ->
|
||||
CommonHooks.onChunkTicketLevelChanged(level, chunk.getPos().toLong(), ChunkLevel.byStatus(oldStatus), ChunkLevel.byStatus(newStatus)));
|
||||
|
||||
PlayerBlockBreakEvents.BEFORE.register(FabricCommonHooks::onBlockDestroy);
|
||||
UseBlockCallback.EVENT.register(CommonHooks::onUseBlock);
|
||||
|
@@ -50,7 +50,7 @@
|
||||
],
|
||||
"depends": {
|
||||
"fabricloader": ">=0.16.10",
|
||||
"fabric-api": ">=0.119.5",
|
||||
"fabric-api": ">=0.122.0",
|
||||
"minecraft": "=1.21.5"
|
||||
},
|
||||
"accessWidener": "computercraft.accesswidener"
|
||||
|
Reference in New Issue
Block a user