1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2025-11-04 15:43:00 +00:00

Merge branch 'mc-1.20.x' into mc-1.20.y

This commit is contained in:
Jonathan Coates
2024-03-22 21:23:49 +00:00
134 changed files with 3783 additions and 1267 deletions

View File

@@ -9,6 +9,7 @@ import dan200.computercraft.api.client.turtle.RegisterTurtleModellersEvent;
import dan200.computercraft.client.model.turtle.TurtleModelLoader;
import dan200.computercraft.client.turtle.TurtleUpgradeModellers;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.item.ItemProperties;
import net.minecraft.resources.ResourceLocation;
import net.neoforged.api.distmarker.Dist;
import net.neoforged.bus.api.SubscribeEvent;
@@ -86,6 +87,6 @@ public final class ForgeClientRegistry {
@SubscribeEvent
public static void setupClient(FMLClientSetupEvent event) {
ClientRegistry.register();
event.enqueueWork(ClientRegistry::registerMainThread);
event.enqueueWork(() -> ClientRegistry.registerMainThread(ItemProperties::register));
}
}

View File

@@ -1,8 +1,14 @@
{
"argument.computercraft.argument_expected": "Argument expected",
"argument.computercraft.computer.distance": "Distance to entity",
"argument.computercraft.computer.family": "Computer family",
"argument.computercraft.computer.id": "Computer ID",
"argument.computercraft.computer.instance": "Unique instance ID",
"argument.computercraft.computer.label": "Computer label",
"argument.computercraft.computer.many_matching": "Multiple computers matching '%s' (instances %s)",
"argument.computercraft.computer.no_matching": "No computers matching '%s'",
"argument.computercraft.tracking_field.no_field": "Unknown field '%s'",
"argument.computercraft.unknown_computer_family": "Unknown computer family '%s'",
"block.computercraft.cable": "Networking Cable",
"block.computercraft.computer_advanced": "Advanced Computer",
"block.computercraft.computer_command": "Command Computer",

View File

@@ -8,12 +8,16 @@ import dan200.computercraft.api.ComputerCraftAPI;
import dan200.computercraft.shared.command.CommandComputerCraft;
import dan200.computercraft.shared.network.client.UpgradesLoadedMessage;
import dan200.computercraft.shared.network.server.ServerNetworking;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.level.chunk.LevelChunk;
import net.neoforged.bus.api.EventPriority;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.Mod;
import net.neoforged.neoforge.event.*;
import net.neoforged.neoforge.event.entity.EntityJoinLevelEvent;
import net.neoforged.neoforge.event.entity.living.LivingDropsEvent;
import net.neoforged.neoforge.event.level.ChunkEvent;
import net.neoforged.neoforge.event.level.ChunkTicketLevelUpdatedEvent;
import net.neoforged.neoforge.event.level.ChunkWatchEvent;
import net.neoforged.neoforge.event.server.ServerStartedEvent;
import net.neoforged.neoforge.event.server.ServerStartingEvent;
@@ -52,11 +56,23 @@ public class ForgeCommonHooks {
CommandComputerCraft.register(event.getDispatcher());
}
@SubscribeEvent
public static void onChunkUnload(ChunkEvent.Unload event) {
if (event.getLevel() instanceof ServerLevel && event.getChunk() instanceof LevelChunk chunk) {
CommonHooks.onServerChunkUnload(chunk);
}
}
@SubscribeEvent
public static void onChunkWatch(ChunkWatchEvent.Sent event) {
CommonHooks.onChunkWatch(event.getChunk(), event.getPlayer());
}
@SubscribeEvent
public static void onChunkTicketLevelChanged(ChunkTicketLevelUpdatedEvent event) {
CommonHooks.onChunkTicketLevelChanged(event.getLevel(), event.getChunkPos(), event.getOldTicketLevel(), event.getNewTicketLevel());
}
@SubscribeEvent
public static void onAddReloadListeners(AddReloadListenerEvent event) {
CommonHooks.onDatapackReload((id, listener) -> event.addListener(listener));

View File

@@ -312,6 +312,11 @@ public class PlatformHelperImpl implements PlatformHelper {
return event.getUseItem() == Event.Result.DENY ? InteractionResult.PASS : stack.useOn(context);
}
@Override
public boolean canClickRunClientCommand() {
return false;
}
private record RegistrationHelperImpl<R>(DeferredRegister<R> registry) implements RegistrationHelper<R> {
@Override
public <T extends R> RegistryEntry<T> register(String name, Supplier<T> create) {