diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml index b01b63204..f43a6ad0e 100644 --- a/config/checkstyle/checkstyle.xml +++ b/config/checkstyle/checkstyle.xml @@ -157,6 +157,7 @@ + diff --git a/gradle.properties b/gradle.properties index 42181f6a0..50b4e80d8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,6 +5,6 @@ mod_version=1.98.2 # Minecraft properties (update mods.toml when changing) mc_version=1.17.1 -mapping_version=2021.08.15 -forge_version=37.0.69 +mapping_version=2021.09.05 +forge_version=37.0.82 # NO SERIOUSLY, UPDATE mods.toml WHEN CHANGING diff --git a/src/main/java/dan200/computercraft/shared/Capabilities.java b/src/main/java/dan200/computercraft/shared/Capabilities.java index 83c31896b..0fac9a45d 100644 --- a/src/main/java/dan200/computercraft/shared/Capabilities.java +++ b/src/main/java/dan200/computercraft/shared/Capabilities.java @@ -8,15 +8,14 @@ package dan200.computercraft.shared; import dan200.computercraft.api.network.wired.IWiredElement; import dan200.computercraft.api.peripheral.IPeripheral; import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.capabilities.CapabilityInject; +import net.minecraftforge.common.capabilities.CapabilityManager; +import net.minecraftforge.common.capabilities.CapabilityToken; public final class Capabilities { - @CapabilityInject( IPeripheral.class ) - public static Capability CAPABILITY_PERIPHERAL = null; + public static final Capability CAPABILITY_PERIPHERAL = CapabilityManager.get( new CapabilityToken<>() {} ); - @CapabilityInject( IWiredElement.class ) - public static Capability CAPABILITY_WIRED_ELEMENT = null; + public static final Capability CAPABILITY_WIRED_ELEMENT = CapabilityManager.get( new CapabilityToken<>() {} ); private Capabilities() { diff --git a/src/main/java/dan200/computercraft/shared/peripheral/generic/data/ItemData.java b/src/main/java/dan200/computercraft/shared/peripheral/generic/data/ItemData.java index f1c58e293..36a4e9129 100644 --- a/src/main/java/dan200/computercraft/shared/peripheral/generic/data/ItemData.java +++ b/src/main/java/dan200/computercraft/shared/peripheral/generic/data/ItemData.java @@ -15,7 +15,6 @@ import net.minecraft.world.item.EnchantedBookItem; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.enchantment.Enchantment; import net.minecraft.world.item.enchantment.EnchantmentHelper; -import net.minecraftforge.common.util.Constants; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -69,12 +68,12 @@ public class ItemData data.put( "tags", DataHelpers.getTags( stack.getItem().getTags() ) ); CompoundTag tag = stack.getTag(); - if( tag != null && tag.contains( "display", Constants.NBT.TAG_COMPOUND ) ) + if( tag != null && tag.contains( "display", Tag.TAG_COMPOUND ) ) { CompoundTag displayTag = tag.getCompound( "display" ); - if( displayTag.contains( "Lore", Constants.NBT.TAG_LIST ) ) + if( displayTag.contains( "Lore", Tag.TAG_LIST ) ) { - ListTag loreTag = displayTag.getList( "Lore", Constants.NBT.TAG_STRING ); + ListTag loreTag = displayTag.getList( "Lore", Tag.TAG_STRING ); data.put( "lore", loreTag.stream() .map( ItemData::parseTextComponent ) .filter( Objects::nonNull ) diff --git a/src/main/java/dan200/computercraft/shared/peripheral/modem/wired/WiredModemLocalPeripheral.java b/src/main/java/dan200/computercraft/shared/peripheral/modem/wired/WiredModemLocalPeripheral.java index 61072bd61..d1cabccfb 100644 --- a/src/main/java/dan200/computercraft/shared/peripheral/modem/wired/WiredModemLocalPeripheral.java +++ b/src/main/java/dan200/computercraft/shared/peripheral/modem/wired/WiredModemLocalPeripheral.java @@ -12,9 +12,9 @@ import dan200.computercraft.shared.util.IDAssigner; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.Tag; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; -import net.minecraftforge.common.util.Constants; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.common.util.NonNullConsumer; @@ -131,10 +131,10 @@ public final class WiredModemLocalPeripheral public void read( @Nonnull CompoundTag tag, @Nonnull String suffix ) { - id = tag.contains( NBT_PERIPHERAL_ID + suffix, Constants.NBT.TAG_ANY_NUMERIC ) + id = tag.contains( NBT_PERIPHERAL_ID + suffix, Tag.TAG_ANY_NUMERIC ) ? tag.getInt( NBT_PERIPHERAL_ID + suffix ) : -1; - type = tag.contains( NBT_PERIPHERAL_TYPE + suffix, Constants.NBT.TAG_STRING ) + type = tag.contains( NBT_PERIPHERAL_TYPE + suffix, Tag.TAG_STRING ) ? tag.getString( NBT_PERIPHERAL_TYPE + suffix ) : null; } diff --git a/src/main/java/dan200/computercraft/shared/pocket/core/PocketServerComputer.java b/src/main/java/dan200/computercraft/shared/pocket/core/PocketServerComputer.java index 55025a084..cc465e2ab 100644 --- a/src/main/java/dan200/computercraft/shared/pocket/core/PocketServerComputer.java +++ b/src/main/java/dan200/computercraft/shared/pocket/core/PocketServerComputer.java @@ -16,6 +16,7 @@ import dan200.computercraft.shared.computer.core.ServerComputer; import dan200.computercraft.shared.network.NetworkHandler; import dan200.computercraft.shared.pocket.items.ItemPocketComputer; import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.Tag; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.entity.Entity; @@ -24,7 +25,6 @@ import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; -import net.minecraftforge.common.util.Constants; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -83,7 +83,7 @@ public class PocketServerComputer extends ServerComputer implements IPocketAcces public int getLight() { CompoundTag tag = getUserData(); - return tag.contains( NBT_LIGHT, Constants.NBT.TAG_ANY_NUMERIC ) ? tag.getInt( NBT_LIGHT ) : -1; + return tag.contains( NBT_LIGHT, Tag.TAG_ANY_NUMERIC ) ? tag.getInt( NBT_LIGHT ) : -1; } @Override @@ -92,13 +92,13 @@ public class PocketServerComputer extends ServerComputer implements IPocketAcces CompoundTag tag = getUserData(); if( colour >= 0 && colour <= 0xFFFFFF ) { - if( !tag.contains( NBT_LIGHT, Constants.NBT.TAG_ANY_NUMERIC ) || tag.getInt( NBT_LIGHT ) != colour ) + if( !tag.contains( NBT_LIGHT, Tag.TAG_ANY_NUMERIC ) || tag.getInt( NBT_LIGHT ) != colour ) { tag.putInt( NBT_LIGHT, colour ); updateUserData(); } } - else if( tag.contains( NBT_LIGHT, Constants.NBT.TAG_ANY_NUMERIC ) ) + else if( tag.contains( NBT_LIGHT, Tag.TAG_ANY_NUMERIC ) ) { tag.remove( NBT_LIGHT ); updateUserData(); diff --git a/src/main/java/dan200/computercraft/shared/turtle/blocks/TileTurtle.java b/src/main/java/dan200/computercraft/shared/turtle/blocks/TileTurtle.java index bdb1063b3..e42f72ec9 100644 --- a/src/main/java/dan200/computercraft/shared/turtle/blocks/TileTurtle.java +++ b/src/main/java/dan200/computercraft/shared/turtle/blocks/TileTurtle.java @@ -28,6 +28,7 @@ import net.minecraft.core.Direction; import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; +import net.minecraft.nbt.Tag; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; @@ -43,7 +44,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.Vec3; import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.util.Constants; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.items.IItemHandlerModifiable; import net.minecraftforge.items.wrapper.InvWrapper; @@ -271,7 +271,7 @@ public class TileTurtle extends TileComputerBase implements ITurtleTile, Default super.load( nbt ); // Read inventory - ListTag nbttaglist = nbt.getList( "Items", Constants.NBT.TAG_COMPOUND ); + ListTag nbttaglist = nbt.getList( "Items", Tag.TAG_COMPOUND ); inventory.clear(); previousInventory.clear(); for( int i = 0; i < nbttaglist.size(); i++ ) diff --git a/src/main/java/dan200/computercraft/shared/turtle/core/TurtleBrain.java b/src/main/java/dan200/computercraft/shared/turtle/core/TurtleBrain.java index f64123fbc..2bdd77baf 100644 --- a/src/main/java/dan200/computercraft/shared/turtle/core/TurtleBrain.java +++ b/src/main/java/dan200/computercraft/shared/turtle/core/TurtleBrain.java @@ -26,6 +26,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.Tag; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.FluidTags; import net.minecraft.world.Container; @@ -40,7 +41,6 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.FluidState; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; -import net.minecraftforge.common.util.Constants; import net.minecraftforge.items.IItemHandlerModifiable; import net.minecraftforge.items.wrapper.InvWrapper; @@ -206,7 +206,7 @@ public class TurtleBrain implements ITurtleAccess selectedSlot = nbt.getInt( NBT_SLOT ); // Read owner - if( nbt.contains( "Owner", Constants.NBT.TAG_COMPOUND ) ) + if( nbt.contains( "Owner", Tag.TAG_COMPOUND ) ) { CompoundTag owner = nbt.getCompound( "Owner" ); owningPlayer = new GameProfile( diff --git a/src/main/java/dan200/computercraft/shared/turtle/upgrades/TurtleTool.java b/src/main/java/dan200/computercraft/shared/turtle/upgrades/TurtleTool.java index 4109cf067..3cd7f53e1 100644 --- a/src/main/java/dan200/computercraft/shared/turtle/upgrades/TurtleTool.java +++ b/src/main/java/dan200/computercraft/shared/turtle/upgrades/TurtleTool.java @@ -19,6 +19,7 @@ import dan200.computercraft.shared.util.WorldUtil; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.Tag; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.entity.Entity; @@ -36,7 +37,6 @@ import net.minecraft.world.phys.Vec3; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.common.util.Constants; import net.minecraftforge.event.entity.player.AttackEntityEvent; import net.minecraftforge.event.world.BlockEvent; import org.apache.commons.lang3.tuple.Pair; @@ -75,8 +75,8 @@ public class TurtleTool extends AbstractTurtleUpgrade // Check we've not got anything vaguely interesting on the item. We allow other mods to add their // own NBT, with the understanding such details will be lost to the mist of time. if( stack.isDamaged() || stack.isEnchanted() || stack.hasCustomHoverName() ) return false; - if( tag.contains( "AttributeModifiers", Constants.NBT.TAG_LIST ) && - !tag.getList( "AttributeModifiers", Constants.NBT.TAG_COMPOUND ).isEmpty() ) + if( tag.contains( "AttributeModifiers", Tag.TAG_LIST ) && + !tag.getList( "AttributeModifiers", Tag.TAG_COMPOUND ).isEmpty() ) { return false; } diff --git a/src/main/java/dan200/computercraft/shared/util/NBTUtil.java b/src/main/java/dan200/computercraft/shared/util/NBTUtil.java index aa5a09d20..9c30d5ce8 100644 --- a/src/main/java/dan200/computercraft/shared/util/NBTUtil.java +++ b/src/main/java/dan200/computercraft/shared/util/NBTUtil.java @@ -7,7 +7,6 @@ package dan200.computercraft.shared.util; import dan200.computercraft.ComputerCraft; import net.minecraft.nbt.*; -import net.minecraftforge.common.util.Constants; import org.apache.commons.codec.binary.Hex; import javax.annotation.Nonnull; @@ -21,8 +20,6 @@ import java.security.NoSuchAlgorithmException; import java.util.HashMap; import java.util.Map; -import static net.minecraftforge.common.util.Constants.NBT.*; - public final class NBTUtil { private NBTUtil() {} @@ -74,14 +71,14 @@ public final class NBTUtil if( tag == null ) return null; switch( tag.getId() ) { - case TAG_BYTE: + case Tag.TAG_BYTE: return ((ByteTag) tag).getAsByte() > 0; - case TAG_DOUBLE: + case Tag.TAG_DOUBLE: return ((DoubleTag) tag).getAsDouble(); default: - case TAG_STRING: + case Tag.TAG_STRING: return tag.getAsString(); - case TAG_COMPOUND: + case Tag.TAG_COMPOUND: { CompoundTag c = (CompoundTag) tag; int len = c.getInt( "len" ); @@ -104,17 +101,17 @@ public final class NBTUtil byte typeID = tag.getId(); switch( typeID ) { - case Constants.NBT.TAG_BYTE: - case Constants.NBT.TAG_SHORT: - case Constants.NBT.TAG_INT: - case Constants.NBT.TAG_LONG: + case Tag.TAG_BYTE: + case Tag.TAG_SHORT: + case Tag.TAG_INT: + case Tag.TAG_LONG: return ((NumericTag) tag).getAsLong(); - case Constants.NBT.TAG_FLOAT: - case Constants.NBT.TAG_DOUBLE: + case Tag.TAG_FLOAT: + case Tag.TAG_DOUBLE: return ((NumericTag) tag).getAsDouble(); - case Constants.NBT.TAG_STRING: // String + case Tag.TAG_STRING: // String return tag.getAsString(); - case Constants.NBT.TAG_COMPOUND: // Compound + case Tag.TAG_COMPOUND: // Compound { CompoundTag compound = (CompoundTag) tag; Map map = new HashMap<>( compound.size() ); @@ -125,21 +122,21 @@ public final class NBTUtil } return map; } - case Constants.NBT.TAG_LIST: + case Tag.TAG_LIST: { ListTag list = (ListTag) tag; Map map = new HashMap<>( list.size() ); for( int i = 0; i < list.size(); i++ ) map.put( i, toLua( list.get( i ) ) ); return map; } - case Constants.NBT.TAG_BYTE_ARRAY: + case Tag.TAG_BYTE_ARRAY: { byte[] array = ((ByteArrayTag) tag).getAsByteArray(); Map map = new HashMap<>( array.length ); for( int i = 0; i < array.length; i++ ) map.put( i + 1, array[i] ); return map; } - case Constants.NBT.TAG_INT_ARRAY: + case Tag.TAG_INT_ARRAY: { int[] array = ((IntArrayTag) tag).getAsIntArray(); Map map = new HashMap<>( array.length ); diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index f04ee4275..8d15381c8 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -20,6 +20,6 @@ CC: Tweaked is a fork of ComputerCraft, adding programmable computers, turtles a [[dependencies.computercraft]] modId="forge" mandatory=true - versionRange="[37.0.69,38)" + versionRange="[37.0.82,38)" ordering="NONE" side="BOTH"