Update Fabric API and make use of its new features.
This commit is contained in:
parent
f58a4adb3c
commit
c97cadeea2
24 changed files with 26 additions and 19 deletions
|
@ -27,15 +27,21 @@ package reborncore;
|
|||
import net.fabricmc.api.EnvType;
|
||||
import net.fabricmc.api.ModInitializer;
|
||||
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerBlockEntityEvents;
|
||||
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerEntityEvents;
|
||||
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerTickEvents;
|
||||
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerWorldEvents;
|
||||
import net.fabricmc.fabric.api.transfer.v1.fluid.FluidStorage;
|
||||
import net.fabricmc.loader.api.FabricLoader;
|
||||
import net.minecraft.entity.EquipmentSlot;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.Identifier;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import reborncore.api.ToolManager;
|
||||
import reborncore.api.blockentity.UnloadHandler;
|
||||
import reborncore.api.items.ArmorRemoveHandler;
|
||||
import reborncore.common.RebornCoreCommands;
|
||||
import reborncore.common.RebornCoreConfig;
|
||||
import reborncore.common.blockentity.MachineBaseBlockEntity;
|
||||
|
@ -110,6 +116,13 @@ public class RebornCore implements ModInitializer {
|
|||
ServerWorldEvents.LOAD.register((server, world) -> ChunkLoaderManager.get(world).onServerWorldLoad(world));
|
||||
ServerTickEvents.START_WORLD_TICK.register(world -> ChunkLoaderManager.get(world).onServerWorldTick(world));
|
||||
|
||||
ServerEntityEvents.EQUIPMENT_CHANGE.register((livingEntity, equipmentSlot, previousStack, currentStack) -> {
|
||||
if (livingEntity instanceof PlayerEntity playerEntity
|
||||
&& previousStack.getItem() instanceof ArmorRemoveHandler armorRemoveHandler) {
|
||||
armorRemoveHandler.onRemoved(playerEntity);
|
||||
}
|
||||
});
|
||||
|
||||
FluidStorage.SIDED.registerFallback((world, pos, state, be, direction) -> {
|
||||
if (be instanceof MachineBaseBlockEntity machineBase) {
|
||||
return machineBase.getTank();
|
||||
|
|
|
@ -28,7 +28,6 @@ import net.minecraft.entity.EntityType;
|
|||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.collection.DefaultedList;
|
||||
import net.minecraft.world.World;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Shadow;
|
||||
|
@ -36,8 +35,6 @@ import org.spongepowered.asm.mixin.injection.At;
|
|||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
import reborncore.api.items.ArmorBlockEntityTicker;
|
||||
import reborncore.api.items.ArmorRemoveHandler;
|
||||
import reborncore.common.util.ItemUtils;
|
||||
|
||||
@Mixin(PlayerEntity.class)
|
||||
public abstract class MixinPlayerEntity extends LivingEntity {
|
||||
|
@ -49,21 +46,9 @@ public abstract class MixinPlayerEntity extends LivingEntity {
|
|||
super(type, world);
|
||||
}
|
||||
|
||||
private final DefaultedList<ItemStack> reborncore_armorcache = DefaultedList.ofSize(4, ItemStack.EMPTY);
|
||||
|
||||
@Inject(method = "tick", at = @At("HEAD"))
|
||||
public void tick(CallbackInfo info) {
|
||||
int i = 0;
|
||||
for (ItemStack stack : getArmorItems()) {
|
||||
ItemStack cachedStack = reborncore_armorcache.get(i);
|
||||
if (!ItemUtils.isItemEqual(cachedStack, stack, false, false)) {
|
||||
if (cachedStack.getItem() instanceof ArmorRemoveHandler) {
|
||||
((ArmorRemoveHandler) cachedStack.getItem()).onRemoved((PlayerEntity) (Object) this);
|
||||
}
|
||||
reborncore_armorcache.set(i, stack.copy());
|
||||
}
|
||||
i++;
|
||||
|
||||
if (!stack.isEmpty() && stack.getItem() instanceof ArmorBlockEntityTicker) {
|
||||
((ArmorBlockEntityTicker) stack.getItem()).tickArmor(stack, (PlayerEntity) (Object) this);
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
],
|
||||
"depends": {
|
||||
"fabricloader": ">=0.14.8",
|
||||
"fabric-api": ">=0.60.0",
|
||||
"fabric-api": ">=0.62.0",
|
||||
"team_reborn_energy": ">=2.2.0",
|
||||
"fabric-biome-api-v1": ">=3.0.0",
|
||||
"minecraft": "~1.19.2"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue