mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2024-12-14 20:20:30 +00:00
Update to latest Fabric
- Use Fabric FakePlayer class - Remove redundant explosion accessor
This commit is contained in:
parent
34928257c6
commit
232c051526
@ -7,8 +7,8 @@
|
||||
# Minecraft
|
||||
# MC version is specified in gradle.properties, as we need that in settings.gradle.
|
||||
# Remember to update corresponding versions in fabric.mod.json/mods.toml
|
||||
fabric-api = "0.78.0+1.19.4"
|
||||
fabric-loader = "0.14.17"
|
||||
fabric-api = "0.80.0+1.19.4"
|
||||
fabric-loader = "0.14.19"
|
||||
forge = "45.0.42"
|
||||
forgeSpi = "6.0.0"
|
||||
mixin = "0.8.5"
|
||||
|
@ -1,19 +0,0 @@
|
||||
// SPDX-FileCopyrightText: 2022 The CC: Tweaked Developers
|
||||
//
|
||||
// SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
package dan200.computercraft.mixin;
|
||||
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.level.Explosion;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@Mixin(Explosion.class)
|
||||
public interface ExplosionAccessor {
|
||||
@Nullable
|
||||
@Accessor("source")
|
||||
Entity computercraft$getExploder();
|
||||
}
|
@ -6,7 +6,6 @@ package dan200.computercraft.shared.turtle.blocks;
|
||||
|
||||
import dan200.computercraft.annotations.ForgeOverride;
|
||||
import dan200.computercraft.api.turtle.TurtleSide;
|
||||
import dan200.computercraft.mixin.ExplosionAccessor;
|
||||
import dan200.computercraft.shared.computer.blocks.AbstractComputerBlock;
|
||||
import dan200.computercraft.shared.computer.blocks.AbstractComputerBlockEntity;
|
||||
import dan200.computercraft.shared.computer.core.ComputerFamily;
|
||||
@ -148,7 +147,7 @@ public class TurtleBlock extends AbstractComputerBlock<TurtleBlockEntity> implem
|
||||
|
||||
@ForgeOverride
|
||||
public float getExplosionResistance(BlockState state, BlockGetter world, BlockPos pos, Explosion explosion) {
|
||||
var exploder = ((ExplosionAccessor) explosion).computercraft$getExploder();
|
||||
var exploder = explosion.getDirectSourceEntity();
|
||||
if (getFamily() == ComputerFamily.ADVANCED || exploder instanceof LivingEntity || exploder instanceof AbstractHurtingProjectile) {
|
||||
return 2000;
|
||||
}
|
||||
|
@ -7,8 +7,7 @@
|
||||
"defaultRequire": 1
|
||||
},
|
||||
"mixins": [
|
||||
"CacheUpdaterMixin",
|
||||
"ExplosionAccessor"
|
||||
"CacheUpdaterMixin"
|
||||
],
|
||||
"refmap": "computercraft.refmap.json"
|
||||
}
|
||||
|
@ -1,245 +0,0 @@
|
||||
// SPDX-FileCopyrightText: 2022 The CC: Tweaked Developers
|
||||
//
|
||||
// SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
package dan200.computercraft.shared.platform;
|
||||
|
||||
import net.minecraft.network.Connection;
|
||||
import net.minecraft.network.PacketSendListener;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.network.chat.PlayerChatMessage;
|
||||
import net.minecraft.network.protocol.Packet;
|
||||
import net.minecraft.network.protocol.PacketFlow;
|
||||
import net.minecraft.network.protocol.game.*;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.server.network.ServerGamePacketListenerImpl;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
class FakeNetHandler extends ServerGamePacketListenerImpl {
|
||||
protected static final Connection CONNECTION = new Connection(PacketFlow.CLIENTBOUND);
|
||||
|
||||
FakeNetHandler(ServerPlayer player) {
|
||||
super(player.getLevel().getServer(), CONNECTION, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetPosition() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disconnect(Component textComponent) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePlayerInput(ServerboundPlayerInputPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMoveVehicle(ServerboundMoveVehiclePacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleAcceptTeleportPacket(ServerboundAcceptTeleportationPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleRecipeBookSeenRecipePacket(ServerboundRecipeBookSeenRecipePacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleRecipeBookChangeSettingsPacket(ServerboundRecipeBookChangeSettingsPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSeenAdvancements(ServerboundSeenAdvancementsPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleCustomCommandSuggestions(ServerboundCommandSuggestionPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSetCommandBlock(ServerboundSetCommandBlockPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSetCommandMinecart(ServerboundSetCommandMinecartPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePickItem(ServerboundPickItemPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleRenameItem(ServerboundRenameItemPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSetBeaconPacket(ServerboundSetBeaconPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSetStructureBlock(ServerboundSetStructureBlockPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSetJigsawBlock(ServerboundSetJigsawBlockPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleJigsawGenerate(ServerboundJigsawGeneratePacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSelectTrade(ServerboundSelectTradePacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleEditBook(ServerboundEditBookPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleEntityTagQuery(ServerboundEntityTagQuery packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleBlockEntityTagQuery(ServerboundBlockEntityTagQuery packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMovePlayer(ServerboundMovePlayerPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePlayerAction(ServerboundPlayerActionPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleUseItemOn(ServerboundUseItemOnPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleUseItem(ServerboundUseItemPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleTeleportToEntityPacket(ServerboundTeleportToEntityPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleResourcePackResponse(ServerboundResourcePackPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePaddleBoat(ServerboundPaddleBoatPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePong(ServerboundPongPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisconnect(Component reason) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ackBlockChangesUpTo(int i) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void send(Packet<?> packet, @Nullable PacketSendListener packetSendListener) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSetCarriedItem(ServerboundSetCarriedItemPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleChat(ServerboundChatPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleChatCommand(ServerboundChatCommandPacket serverboundChatCommandPacket) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleChatSessionUpdate(ServerboundChatSessionUpdatePacket serverboundChatSessionUpdatePacket) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleChatAck(ServerboundChatAckPacket serverboundChatAckPacket) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleAnimate(ServerboundSwingPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePlayerCommand(ServerboundPlayerCommandPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addPendingMessage(PlayerChatMessage playerChatMessage) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleInteract(ServerboundInteractPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleClientCommand(ServerboundClientCommandPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleContainerClose(ServerboundContainerClosePacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleContainerClick(ServerboundContainerClickPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePlaceRecipe(ServerboundPlaceRecipePacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleContainerButtonClick(ServerboundContainerButtonClickPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSetCreativeModeSlot(ServerboundSetCreativeModeSlotPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSignUpdate(ServerboundSignUpdatePacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handlePlayerAbilities(ServerboundPlayerAbilitiesPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleClientInformation(ServerboundClientInformationPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleCustomPayload(ServerboundCustomPayloadPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleChangeDifficulty(ServerboundChangeDifficultyPacket packet) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleLockDifficulty(ServerboundLockDifficultyPacket packet) {
|
||||
}
|
||||
}
|
@ -6,51 +6,18 @@ package dan200.computercraft.shared.platform;
|
||||
|
||||
import com.mojang.authlib.GameProfile;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.stats.Stat;
|
||||
import net.minecraft.world.MenuProvider;
|
||||
import net.minecraft.world.damagesource.DamageSource;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.EntityDimensions;
|
||||
import net.minecraft.world.entity.Pose;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.OptionalInt;
|
||||
|
||||
final class FakePlayer extends ServerPlayer {
|
||||
final class FakePlayer extends net.fabricmc.fabric.api.entity.FakePlayer {
|
||||
private FakePlayer(ServerLevel serverLevel, GameProfile gameProfile) {
|
||||
super(serverLevel.getServer(), serverLevel, gameProfile);
|
||||
connection = new FakeNetHandler(this);
|
||||
super(serverLevel, gameProfile);
|
||||
}
|
||||
|
||||
static FakePlayer create(ServerLevel serverLevel, GameProfile profile) {
|
||||
// Restore the previous player's advancements. See #564.
|
||||
var playerList = serverLevel.getServer().getPlayerList();
|
||||
var currentPlayer = playerList.getPlayer(profile.getId());
|
||||
|
||||
var fakePlayer = new FakePlayer(serverLevel, profile);
|
||||
if (currentPlayer != null) fakePlayer.getAdvancements().setPlayer(currentPlayer);
|
||||
|
||||
return fakePlayer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doTick() {
|
||||
super.doTick();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void awardStat(Stat<?> stat, int increment) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInvulnerableTo(DamageSource source) {
|
||||
return true;
|
||||
return new FakePlayer(serverLevel, profile);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -62,16 +29,6 @@ final class FakePlayer extends ServerPlayer {
|
||||
public void die(DamageSource damageSource) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public OptionalInt openMenu(@Nullable MenuProvider menu) {
|
||||
return OptionalInt.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean startRiding(Entity vehicle, boolean force) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) {
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user