mirror of
				https://github.com/SquidDev-CC/CC-Tweaked
				synced 2025-10-31 13:42:59 +00:00 
			
		
		
		
	Some post-1.17 cleanup
- Fix broken Javadoc references - Apply a couple of refactoring suggestions from IDEA
This commit is contained in:
		| @@ -6,5 +6,5 @@ mod_version=1.98.2 | ||||
| # Minecraft properties (update mods.toml when changing) | ||||
| mc_version=1.17.1 | ||||
| mapping_version=2021.09.05 | ||||
| forge_version=37.0.82 | ||||
| forge_version=37.0.85 | ||||
| # NO SERIOUSLY, UPDATE mods.toml WHEN CHANGING | ||||
|   | ||||
| @@ -19,8 +19,6 @@ import net.minecraftforge.fml.common.Mod; | ||||
| import org.apache.logging.log4j.LogManager; | ||||
| import org.apache.logging.log4j.Logger; | ||||
| 
 | ||||
| import java.util.Arrays; | ||||
| import java.util.Collections; | ||||
| import java.util.List; | ||||
| import java.util.concurrent.TimeUnit; | ||||
| 
 | ||||
| @@ -43,10 +41,10 @@ public final class ComputerCraft | ||||
| 
 | ||||
|     public static boolean httpEnabled = true; | ||||
|     public static boolean httpWebsocketEnabled = true; | ||||
|     public static List<AddressRule> httpRules = Collections.unmodifiableList( Arrays.asList( | ||||
|     public static List<AddressRule> httpRules = List.of( | ||||
|         AddressRule.parse( "$private", null, Action.DENY.toPartial() ), | ||||
|         AddressRule.parse( "*", null, Action.ALLOW.toPartial() ) | ||||
|     ) ); | ||||
|     ); | ||||
| 
 | ||||
|     public static int httpMaxRequests = 16; | ||||
|     public static int httpMaxWebsockets = 4; | ||||
|   | ||||
| @@ -62,7 +62,7 @@ public final class ComputerCraftAPI | ||||
|      * | ||||
|      * eg: if createUniqueNumberedSaveDir( world, "computer/disk" ) was called returns 42, then "computer/disk/42" is now | ||||
|      * available for writing. | ||||
|      * @see #createSaveDirMount(World, String, long) | ||||
|      * @see #createSaveDirMount(Level, String, long) | ||||
|      */ | ||||
|     public static int createUniqueNumberedSaveDir( @Nonnull Level world, @Nonnull String parentSubPath ) | ||||
|     { | ||||
| @@ -81,7 +81,7 @@ public final class ComputerCraftAPI | ||||
|      * @param capacity The amount of data that can be stored in the directory before it fills up, in bytes. | ||||
|      * @return The mount, or null if it could be created for some reason. Use IComputerAccess.mount() or IComputerAccess.mountWritable() | ||||
|      * to mount this on a Computers' file system. | ||||
|      * @see #createUniqueNumberedSaveDir(World, String) | ||||
|      * @see #createUniqueNumberedSaveDir(Level, String) | ||||
|      * @see IComputerAccess#mount(String, IMount) | ||||
|      * @see IComputerAccess#mountWritable(String, IWritableMount) | ||||
|      * @see IMount | ||||
|   | ||||
| @@ -43,7 +43,7 @@ public class NoTermComputerScreen<T extends ContainerComputerBase> extends Scree | ||||
|     @Override | ||||
|     protected void init() | ||||
|     { | ||||
|         this.passEvents = true; // to allow gui click events pass through mouseHelper protection (see MouseHelper.OnPres:105 code string) | ||||
|         passEvents = true; // Pass mouse vents through to the game's mouse handler. | ||||
|         minecraft.mouseHandler.grabMouse(); | ||||
|         minecraft.screen = this; | ||||
| 
 | ||||
| @@ -103,7 +103,7 @@ public class NoTermComputerScreen<T extends ContainerComputerBase> extends Scree | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public void render( PoseStack transform, int mouseX, int mouseY, float partialTicks ) | ||||
|     public void render( @Nonnull PoseStack transform, int mouseX, int mouseY, float partialTicks ) | ||||
|     { | ||||
|         super.render( transform, mouseX, mouseY, partialTicks ); | ||||
| 
 | ||||
|   | ||||
| @@ -93,7 +93,7 @@ public class DynamicImageButton extends Button | ||||
|         List<Component> tooltip = this.tooltip.get(); | ||||
|         if( !tooltip.isEmpty() ) | ||||
|         { | ||||
|             screen.renderComponentToolTip( stack, tooltip, mouseX, mouseY, screen.getMinecraft().font ); | ||||
|             screen.renderComponentTooltip( stack, tooltip, mouseX, mouseY ); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -292,7 +292,7 @@ public final class ResourceMount implements IMount | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * A {@link ISelectiveResourceReloadListener} which reloads any associated mounts. | ||||
|      * A {@link ResourceManagerReloadListener} which reloads any associated mounts. | ||||
|      * | ||||
|      * While people should really be keeping a permanent reference to this, some people construct it every | ||||
|      * method call, so let's make this as small as possible. | ||||
|   | ||||
| @@ -24,7 +24,7 @@ class ResultInterpreterFunction extends ResumableVarArgFunction<ResultInterprete | ||||
|     static class Container | ||||
|     { | ||||
|         ILuaCallback callback; | ||||
|         int errorAdjust; | ||||
|         final int errorAdjust; | ||||
| 
 | ||||
|         Container( ILuaCallback callback, int errorAdjust ) | ||||
|         { | ||||
|   | ||||
| @@ -44,7 +44,7 @@ public final class ComputerMBean implements DynamicMBean, Tracker | ||||
|         add( "task", TrackingField.TOTAL_TIME, attributes, TrackingField.TASKS ); | ||||
|         add( "serverTask", TrackingField.SERVER_TIME, attributes, TrackingField.SERVER_COUNT ); | ||||
| 
 | ||||
|         this.info = new MBeanInfo( | ||||
|         info = new MBeanInfo( | ||||
|             ComputerMBean.class.getSimpleName(), | ||||
|             "metrics about all computers on the server", | ||||
|             attributes.toArray( new MBeanAttributeInfo[0] ), null, null, null | ||||
| @@ -69,7 +69,7 @@ public final class ComputerMBean implements DynamicMBean, Tracker | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public Object getAttribute( String attribute ) throws AttributeNotFoundException, MBeanException, ReflectionException | ||||
|     public Object getAttribute( String attribute ) throws AttributeNotFoundException | ||||
|     { | ||||
|         LongSupplier value = attributes.get( attribute ); | ||||
|         if( value == null ) throw new AttributeNotFoundException(); | ||||
| @@ -95,7 +95,7 @@ public final class ComputerMBean implements DynamicMBean, Tracker | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     public Object invoke( String actionName, Object[] params, String[] signature ) throws MBeanException, ReflectionException | ||||
|     public Object invoke( String actionName, Object[] params, String[] signature ) | ||||
|     { | ||||
|         return null; | ||||
|     } | ||||
| @@ -149,7 +149,7 @@ public final class ComputerMBean implements DynamicMBean, Tracker | ||||
| 
 | ||||
|     private static class Counter | ||||
|     { | ||||
|         AtomicLong value = new AtomicLong(); | ||||
|         AtomicLong count = new AtomicLong(); | ||||
|         final AtomicLong value = new AtomicLong(); | ||||
|         final AtomicLong count = new AtomicLong(); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -110,9 +110,8 @@ public class BlockModelProvider extends BlockStateProvider | ||||
| 
 | ||||
|         BlockModelBuilder model = models() | ||||
|             .getBuilder( name( block ) ) | ||||
|             .customLoader( BasicCustomLoader.makeFactory( new ResourceLocation( ComputerCraft.MOD_ID, "turtle" ), x -> { | ||||
|                 x.addProperty( "model", base.getLocation().toString() ); | ||||
|             } ) ) | ||||
|             .customLoader( BasicCustomLoader.makeFactory( new ResourceLocation( ComputerCraft.MOD_ID, "turtle" ), | ||||
|                 x -> x.addProperty( "model", base.getLocation().toString() ) ) ) | ||||
|             .end(); | ||||
| 
 | ||||
|         for( Direction facing : BlockTurtle.FACING.getPossibleValues() ) | ||||
|   | ||||
| @@ -26,7 +26,7 @@ import java.util.Map; | ||||
| import java.util.function.BiConsumer; | ||||
| 
 | ||||
| /** | ||||
|  * An alternative to {@link net.minecraft.data.LootTableProvider}, with a more flexible interface. | ||||
|  * An alternative to {@link net.minecraft.data.loot.LootTableProvider}, with a more flexible interface. | ||||
|  */ | ||||
| public abstract class LootTableProvider implements DataProvider | ||||
| { | ||||
|   | ||||
| @@ -25,11 +25,9 @@ import net.minecraftforge.fml.config.ModConfig; | ||||
| import net.minecraftforge.fml.event.config.ModConfigEvent; | ||||
| 
 | ||||
| import java.util.Arrays; | ||||
| import java.util.Collections; | ||||
| import java.util.List; | ||||
| import java.util.Objects; | ||||
| import java.util.concurrent.TimeUnit; | ||||
| import java.util.stream.Collectors; | ||||
| 
 | ||||
| @Mod.EventBusSubscriber( modid = ComputerCraft.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD ) | ||||
| public final class Config | ||||
| @@ -337,8 +335,8 @@ public final class Config | ||||
|         // HTTP | ||||
|         ComputerCraft.httpEnabled = httpEnabled.get(); | ||||
|         ComputerCraft.httpWebsocketEnabled = httpWebsocketEnabled.get(); | ||||
|         ComputerCraft.httpRules = Collections.unmodifiableList( httpRules.get().stream() | ||||
|             .map( AddressRuleConfig::parseRule ).filter( Objects::nonNull ).collect( Collectors.toList() ) ); | ||||
|         ComputerCraft.httpRules = httpRules.get().stream() | ||||
|             .map( AddressRuleConfig::parseRule ).filter( Objects::nonNull ).toList(); | ||||
| 
 | ||||
|         ComputerCraft.httpMaxRequests = httpMaxRequests.get(); | ||||
|         ComputerCraft.httpMaxWebsockets = httpMaxWebsockets.get(); | ||||
|   | ||||
| @@ -22,7 +22,7 @@ public final class ComputerProxy | ||||
|         this.get = get; | ||||
|     } | ||||
| 
 | ||||
|     protected TileComputerBase getTile() | ||||
|     TileComputerBase getTile() | ||||
|     { | ||||
|         return get.get(); | ||||
|     } | ||||
|   | ||||
| @@ -36,7 +36,7 @@ public class ComputerUpgradeRecipe extends ComputerFamilyRecipe | ||||
|         return SERIALIZER; | ||||
|     } | ||||
| 
 | ||||
|     public static final RecipeSerializer<ComputerUpgradeRecipe> SERIALIZER = new Serializer<ComputerUpgradeRecipe>() | ||||
|     public static final RecipeSerializer<ComputerUpgradeRecipe> SERIALIZER = new Serializer<>() | ||||
|     { | ||||
|         @Override | ||||
|         protected ComputerUpgradeRecipe create( ResourceLocation identifier, String group, int width, int height, NonNullList<Ingredient> ingredients, ItemStack result, ComputerFamily family ) | ||||
|   | ||||
| @@ -152,7 +152,7 @@ public final class TileDiskDrive extends TileGeneric implements DefaultInventory | ||||
|         return super.save( nbt ); | ||||
|     } | ||||
| 
 | ||||
|     protected void serverTick() | ||||
|     void serverTick() | ||||
|     { | ||||
|         // Ejection | ||||
|         if( ejectQueued ) | ||||
|   | ||||
| @@ -148,7 +148,7 @@ public class ItemData | ||||
|      * | ||||
|      * @param rawEnchants The raw NBT list of enchantments | ||||
|      * @param enchants    The enchantment map to add it to. | ||||
|      * @see net.minecraft.enchantment.EnchantmentHelper | ||||
|      * @see EnchantmentHelper | ||||
|      */ | ||||
|     private static void addEnchantments( @Nonnull ListTag rawEnchants, @Nonnull ArrayList<Map<String, Object>> enchants ) | ||||
|     { | ||||
|   | ||||
| @@ -7,6 +7,7 @@ package dan200.computercraft.shared.peripheral.generic.methods; | ||||
| 
 | ||||
| import dan200.computercraft.ComputerCraft; | ||||
| import dan200.computercraft.api.lua.GenericSource; | ||||
| import dan200.computercraft.api.lua.ILuaContext; | ||||
| import dan200.computercraft.api.lua.LuaException; | ||||
| import dan200.computercraft.api.lua.LuaFunction; | ||||
| import dan200.computercraft.api.peripheral.IComputerAccess; | ||||
| @@ -60,9 +61,10 @@ public class InventoryMethods implements GenericSource | ||||
|      * List all items in this inventory. This returns a table, with an entry for each slot. | ||||
|      * | ||||
|      * Each item in the inventory is represented by a table containing some basic information, much like | ||||
|      * {@link dan200.computercraft.shared.turtle.apis.TurtleAPI#getItemDetail} includes. More information can be fetched | ||||
|      * with {@link #getItemDetail}. The table contains the item `name`, the `count` and an a (potentially nil) hash of | ||||
|      * the item's `nbt.` This NBT data doesn't contain anything useful, but allows you to distinguish identical items. | ||||
|      * {@link dan200.computercraft.shared.turtle.apis.TurtleAPI#getItemDetail(ILuaContext, Optional, Optional)} | ||||
|      * includes. More information can be fetched with {@link #getItemDetail}. The table contains the item `name`, the | ||||
|      * `count` and an a (potentially nil) hash of the item's `nbt.` This NBT data doesn't contain anything useful, but | ||||
|      * allows you to distinguish identical items. | ||||
|      * | ||||
|      * The returned table is sparse, and so empty slots will be `nil` - it is recommended to loop over using `pairs` | ||||
|      * rather than `ipairs`. | ||||
|   | ||||
| @@ -9,6 +9,7 @@ import com.google.common.collect.ImmutableMap; | ||||
| import dan200.computercraft.api.ComputerCraftAPI; | ||||
| import dan200.computercraft.shared.Registry; | ||||
| import dan200.computercraft.shared.common.BlockGeneric; | ||||
| import dan200.computercraft.shared.util.WaterloggableHelpers; | ||||
| import dan200.computercraft.shared.util.WorldUtil; | ||||
| import net.minecraft.core.BlockPos; | ||||
| import net.minecraft.core.Direction; | ||||
| @@ -176,7 +177,7 @@ public class BlockCable extends BlockGeneric implements SimpleWaterloggedBlock | ||||
|     @Deprecated | ||||
|     public FluidState getFluidState( @Nonnull BlockState state ) | ||||
|     { | ||||
|         return getWaterloggedFluidState( state ); | ||||
|         return WaterloggableHelpers.getFluidState( state ); | ||||
|     } | ||||
| 
 | ||||
|     @Nonnull | ||||
| @@ -184,7 +185,7 @@ public class BlockCable extends BlockGeneric implements SimpleWaterloggedBlock | ||||
|     @Deprecated | ||||
|     public BlockState updateShape( @Nonnull BlockState state, @Nonnull Direction side, @Nonnull BlockState otherState, @Nonnull LevelAccessor world, @Nonnull BlockPos pos, @Nonnull BlockPos otherPos ) | ||||
|     { | ||||
|         updateWaterloggedPostPlacement( state, world, pos ); | ||||
|         WaterloggableHelpers.updateShape( state, world, pos ); | ||||
|         // Should never happen, but handle the case where we've no modem or cable. | ||||
|         if( !state.getValue( CABLE ) && state.getValue( MODEM ) == CableModemVariant.None ) | ||||
|         { | ||||
| @@ -209,7 +210,7 @@ public class BlockCable extends BlockGeneric implements SimpleWaterloggedBlock | ||||
|     public BlockState getStateForPlacement( @Nonnull BlockPlaceContext context ) | ||||
|     { | ||||
|         BlockState state = defaultBlockState() | ||||
|             .setValue( WATERLOGGED, getWaterloggedStateForPlacement( context ) ); | ||||
|             .setValue( WATERLOGGED, getFluidStateForPlacement( context ) ); | ||||
| 
 | ||||
|         if( context.getItemInHand().getItem() instanceof ItemBlockCable.Cable ) | ||||
|         { | ||||
|   | ||||
| @@ -7,6 +7,7 @@ package dan200.computercraft.shared.peripheral.modem.wireless; | ||||
| 
 | ||||
| import dan200.computercraft.shared.common.BlockGeneric; | ||||
| import dan200.computercraft.shared.peripheral.modem.ModemShapes; | ||||
| import dan200.computercraft.shared.util.WaterloggableHelpers; | ||||
| import net.minecraft.core.BlockPos; | ||||
| import net.minecraft.core.Direction; | ||||
| import net.minecraft.world.item.context.BlockPlaceContext; | ||||
| @@ -64,7 +65,7 @@ public class BlockWirelessModem extends BlockGeneric implements SimpleWaterlogge | ||||
|     @Deprecated | ||||
|     public FluidState getFluidState( @Nonnull BlockState state ) | ||||
|     { | ||||
|         return getWaterloggedFluidState( state ); | ||||
|         return WaterloggableHelpers.getFluidState( state ); | ||||
|     } | ||||
| 
 | ||||
|     @Nonnull | ||||
| @@ -72,7 +73,7 @@ public class BlockWirelessModem extends BlockGeneric implements SimpleWaterlogge | ||||
|     @Deprecated | ||||
|     public BlockState updateShape( @Nonnull BlockState state, @Nonnull Direction side, @Nonnull BlockState otherState, @Nonnull LevelAccessor world, @Nonnull BlockPos pos, @Nonnull BlockPos otherPos ) | ||||
|     { | ||||
|         updateWaterloggedPostPlacement( state, world, pos ); | ||||
|         WaterloggableHelpers.updateShape( state, world, pos ); | ||||
|         return side == state.getValue( FACING ) && !state.canSurvive( world, pos ) | ||||
|             ? state.getFluidState().createLegacyBlock() | ||||
|             : state; | ||||
| @@ -92,6 +93,6 @@ public class BlockWirelessModem extends BlockGeneric implements SimpleWaterlogge | ||||
|     { | ||||
|         return defaultBlockState() | ||||
|             .setValue( FACING, placement.getClickedFace().getOpposite() ) | ||||
|             .setValue( WATERLOGGED, getWaterloggedStateForPlacement( placement ) ); | ||||
|             .setValue( WATERLOGGED, getFluidStateForPlacement( placement ) ); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -101,7 +101,7 @@ public final class MonitorWatcher | ||||
|             if( !(world instanceof ServerLevel) ) continue; | ||||
| 
 | ||||
|             LevelChunk chunk = world.getChunkAt( pos ); | ||||
|             if( !((ServerLevel) world).getChunkSource().chunkMap.getPlayers( chunk.getPos(), false ).findAny().isPresent() ) | ||||
|             if( ((ServerLevel) world).getChunkSource().chunkMap.getPlayers( chunk.getPos(), false ).findAny().isEmpty() ) | ||||
|             { | ||||
|                 continue; | ||||
|             } | ||||
|   | ||||
| @@ -12,6 +12,7 @@ import dan200.computercraft.shared.computer.core.ComputerFamily; | ||||
| import dan200.computercraft.shared.turtle.core.TurtleBrain; | ||||
| import dan200.computercraft.shared.turtle.items.ITurtleItem; | ||||
| import dan200.computercraft.shared.turtle.items.TurtleItemFactory; | ||||
| import dan200.computercraft.shared.util.WaterloggableHelpers; | ||||
| import net.minecraft.core.BlockPos; | ||||
| import net.minecraft.core.Direction; | ||||
| import net.minecraft.resources.ResourceLocation; | ||||
| @@ -98,7 +99,7 @@ public class BlockTurtle extends BlockComputerBase<TileTurtle> implements Simple | ||||
|     { | ||||
|         return defaultBlockState() | ||||
|             .setValue( FACING, placement.getHorizontalDirection() ) | ||||
|             .setValue( WATERLOGGED, getWaterloggedStateForPlacement( placement ) ); | ||||
|             .setValue( WATERLOGGED, getFluidStateForPlacement( placement ) ); | ||||
|     } | ||||
| 
 | ||||
|     @Nonnull | ||||
| @@ -106,7 +107,7 @@ public class BlockTurtle extends BlockComputerBase<TileTurtle> implements Simple | ||||
|     @Deprecated | ||||
|     public FluidState getFluidState( @Nonnull BlockState state ) | ||||
|     { | ||||
|         return getWaterloggedFluidState( state ); | ||||
|         return WaterloggableHelpers.getFluidState( state ); | ||||
|     } | ||||
| 
 | ||||
|     @Nonnull | ||||
| @@ -114,7 +115,7 @@ public class BlockTurtle extends BlockComputerBase<TileTurtle> implements Simple | ||||
|     @Deprecated | ||||
|     public BlockState updateShape( @Nonnull BlockState state, @Nonnull Direction side, @Nonnull BlockState otherState, @Nonnull LevelAccessor world, @Nonnull BlockPos pos, @Nonnull BlockPos otherPos ) | ||||
|     { | ||||
|         updateWaterloggedPostPlacement( state, world, pos ); | ||||
|         WaterloggableHelpers.updateShape( state, world, pos ); | ||||
|         return state; | ||||
|     } | ||||
| 
 | ||||
|   | ||||
| @@ -17,6 +17,7 @@ import dan200.computercraft.shared.util.WorldUtil; | ||||
| import net.minecraft.core.BlockPos; | ||||
| import net.minecraft.core.Direction; | ||||
| import net.minecraft.network.chat.TextComponent; | ||||
| import net.minecraft.network.protocol.game.ServerboundInteractPacket; | ||||
| import net.minecraft.world.InteractionHand; | ||||
| import net.minecraft.world.InteractionResult; | ||||
| import net.minecraft.world.InteractionResultHolder; | ||||
| @@ -149,8 +150,8 @@ public class TurtlePlaceCommand implements ITurtleCommand | ||||
|      * @param hitEntity    The entity we're interacting with. | ||||
|      * @param hitPos       The position our ray trace hit the entity. | ||||
|      * @return If this item was deployed. | ||||
|      * @see net.minecraft.network.play.ServerPlayNetHandler#handleInteract(CUseEntityPacket) | ||||
|      * @see net.minecraft.entity.player.PlayerEntity#interactOn(Entity, Hand) | ||||
|      * @see net.minecraft.server.network.ServerGamePacketListenerImpl#handleInteract(ServerboundInteractPacket) | ||||
|      * @see net.minecraft.world.entity.player.Player#interactOn(Entity, InteractionHand) | ||||
|      */ | ||||
|     private static boolean doDeployOnEntity( @Nonnull ItemStack stack, TurtlePlayer turtlePlayer, @Nonnull Entity hitEntity, @Nonnull Vec3 hitPos ) | ||||
|     { | ||||
| @@ -260,7 +261,7 @@ public class TurtlePlaceCommand implements ITurtleCommand | ||||
|      * @param context      The context of this place action. | ||||
|      * @param hit          Where the block we're placing against was clicked. | ||||
|      * @return If this item was deployed. | ||||
|      * @see net.minecraft.server.management.PlayerInteractionManager#useItemOn For the original implementation. | ||||
|      * @see net.minecraft.server.level.ServerPlayerGameMode#useItemOn  For the original implementation. | ||||
|      */ | ||||
|     private static InteractionResult doDeployOnBlock( | ||||
|         @Nonnull ItemStack stack, TurtlePlayer turtlePlayer, BlockPos position, UseOnContext context, BlockHitResult hit | ||||
|   | ||||
| @@ -41,7 +41,7 @@ public final class TurtleRecipe extends ComputerFamilyRecipe | ||||
|         return TurtleItemFactory.create( computerID, label, -1, getFamily(), null, null, 0, null ); | ||||
|     } | ||||
| 
 | ||||
|     public static final RecipeSerializer<TurtleRecipe> SERIALIZER = new Serializer<TurtleRecipe>() | ||||
|     public static final RecipeSerializer<TurtleRecipe> SERIALIZER = new Serializer<>() | ||||
|     { | ||||
|         @Override | ||||
|         protected TurtleRecipe create( ResourceLocation identifier, String group, int width, int height, NonNullList<Ingredient> ingredients, ItemStack result, ComputerFamily family ) | ||||
|   | ||||
| @@ -30,7 +30,7 @@ public class TurtleSpeaker extends AbstractTurtleUpgrade | ||||
| 
 | ||||
|     private static class Peripheral extends UpgradeSpeakerPeripheral | ||||
|     { | ||||
|         ITurtleAccess turtle; | ||||
|         final ITurtleAccess turtle; | ||||
| 
 | ||||
|         Peripheral( ITurtleAccess turtle ) | ||||
|         { | ||||
|   | ||||
| @@ -10,7 +10,7 @@ import net.minecraft.world.item.crafting.RecipeSerializer; | ||||
| import net.minecraftforge.registries.ForgeRegistryEntry; | ||||
| 
 | ||||
| /** | ||||
|  * A {@link IRecipeSerializer} which implements all the Forge registry entries. | ||||
|  * A {@link RecipeSerializer} which implements all the Forge registry entries. | ||||
|  * | ||||
|  * @param <T> The reciep serializer | ||||
|  */ | ||||
|   | ||||
| @@ -11,8 +11,6 @@ import net.minecraft.world.item.Item; | ||||
| import net.minecraft.world.item.ItemStack; | ||||
| import net.minecraftforge.common.Tags; | ||||
| 
 | ||||
| import javax.annotation.Nullable; | ||||
| 
 | ||||
| public final class ColourUtils | ||||
| { | ||||
|     @SuppressWarnings( { "unchecked", "rawtypes" } ) | ||||
| @@ -35,7 +33,6 @@ public final class ColourUtils | ||||
|         Tags.Items.DYES_BLACK, | ||||
|     }; | ||||
| 
 | ||||
|     @Nullable | ||||
|     private ColourUtils() {} | ||||
| 
 | ||||
|     public static DyeColor getStackColour( ItemStack stack ) | ||||
|   | ||||
| @@ -57,8 +57,9 @@ public final class ImpostorRecipe extends ShapedRecipe | ||||
|         return SERIALIZER; | ||||
|     } | ||||
| 
 | ||||
|     public static final RecipeSerializer<ImpostorRecipe> SERIALIZER = new BasicRecipeSerializer<ImpostorRecipe>() | ||||
|     public static final RecipeSerializer<ImpostorRecipe> SERIALIZER = new BasicRecipeSerializer<>() | ||||
|     { | ||||
|         @Nonnull | ||||
|         @Override | ||||
|         public ImpostorRecipe fromJson( @Nonnull ResourceLocation identifier, @Nonnull JsonObject json ) | ||||
|         { | ||||
|   | ||||
| @@ -59,8 +59,9 @@ public final class ImpostorShapelessRecipe extends ShapelessRecipe | ||||
|         return SERIALIZER; | ||||
|     } | ||||
| 
 | ||||
|     public static final RecipeSerializer<ImpostorShapelessRecipe> SERIALIZER = new BasicRecipeSerializer<ImpostorShapelessRecipe>() | ||||
|     public static final RecipeSerializer<ImpostorShapelessRecipe> SERIALIZER = new BasicRecipeSerializer<>() | ||||
|     { | ||||
|         @Nonnull | ||||
|         @Override | ||||
|         public ImpostorShapelessRecipe fromJson( @Nonnull ResourceLocation id, @Nonnull JsonObject json ) | ||||
|         { | ||||
|   | ||||
| @@ -9,6 +9,7 @@ import net.minecraft.world.Container; | ||||
| import net.minecraft.world.entity.player.Player; | ||||
| import net.minecraft.world.item.Item; | ||||
| import net.minecraft.world.item.ItemStack; | ||||
| import net.minecraft.world.level.block.entity.BlockEntity; | ||||
| 
 | ||||
| import javax.annotation.Nonnull; | ||||
| import java.util.Set; | ||||
| @@ -16,7 +17,7 @@ import java.util.Set; | ||||
| /** | ||||
|  * Provides a delegate over inventories. | ||||
|  * | ||||
|  * This may be used both on {@link net.minecraft.tileentity.TileEntity}s to redirect the inventory to another tile, | ||||
|  * This may be used both on {@link BlockEntity}s to redirect the inventory to another tile, | ||||
|  * and by other interfaces to have inventories which change their backing store. | ||||
|  */ | ||||
| @FunctionalInterface | ||||
|   | ||||
| @@ -16,9 +16,7 @@ import net.minecraft.world.level.material.FluidState; | ||||
| import net.minecraft.world.level.material.Fluids; | ||||
| 
 | ||||
| /** | ||||
|  * Represents a block which can be filled with water | ||||
|  * | ||||
|  * I'm fairly sure this exists on 1.14, but it's a useful convenience wrapper to have on 1.13. | ||||
|  * Helpers for working with waterlogged blocks. | ||||
|  */ | ||||
| public final class WaterloggableHelpers | ||||
| { | ||||
| @@ -29,24 +27,24 @@ public final class WaterloggableHelpers | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Call from {@link net.minecraft.block.Block#getFluidState(BlockState)}. | ||||
|      * Call from {@link net.minecraft.world.level.block.Block#getFluidState(BlockState)}. | ||||
|      * | ||||
|      * @param state The current state | ||||
|      * @return This waterlogged block's current fluid | ||||
|      */ | ||||
|     public static FluidState getWaterloggedFluidState( BlockState state ) | ||||
|     public static FluidState getFluidState( BlockState state ) | ||||
|     { | ||||
|         return state.getValue( WATERLOGGED ) ? Fluids.WATER.getSource( false ) : Fluids.EMPTY.defaultFluidState(); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * Call from {@link net.minecraft.block.Block#updatePostPlacement(BlockState, Direction, BlockState, IWorld, BlockPos, BlockPos)}. | ||||
|      * Call from {@link net.minecraft.world.level.block.Block#updateShape(BlockState, Direction, BlockState, LevelAccessor, BlockPos, BlockPos)}. | ||||
|      * | ||||
|      * @param state The current state | ||||
|      * @param world The position of this block | ||||
|      * @param pos   The world this block exists in | ||||
|      */ | ||||
|     public static void updateWaterloggedPostPlacement( BlockState state, LevelAccessor world, BlockPos pos ) | ||||
|     public static void updateShape( BlockState state, LevelAccessor world, BlockPos pos ) | ||||
|     { | ||||
|         if( state.getValue( WATERLOGGED ) ) | ||||
|         { | ||||
| @@ -54,7 +52,7 @@ public final class WaterloggableHelpers | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     public static boolean getWaterloggedStateForPlacement( BlockPlaceContext context ) | ||||
|     public static boolean getFluidStateForPlacement( BlockPlaceContext context ) | ||||
|     { | ||||
|         return context.getLevel().getFluidState( context.getClickedPos() ).getType() == Fluids.WATER; | ||||
|     } | ||||
|   | ||||
| @@ -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.82,38)" | ||||
|     versionRange="[37.0.85,38)" | ||||
|     ordering="NONE" | ||||
|     side="BOTH" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jonathan Coates
					Jonathan Coates