Reformatted, and ported back some enhancements from the Forge version.

This commit is contained in:
Sebastian Hartte
2020-08-15 02:51:03 +02:00
parent 0a2f03aa92
commit 6c544f2211
358 changed files with 1124 additions and 1831 deletions
@@ -18,21 +18,15 @@
package appeng.block;
import javax.annotation.Nullable;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.Material;
import net.minecraft.block.MaterialColor;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.Identifier;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.util.registry.Registry;
@@ -27,7 +27,6 @@ import javax.annotation.Nullable;
import com.google.common.collect.Lists;
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerChunkEvents;
import net.minecraft.block.Block;
import net.minecraft.block.BlockEntityProvider;
import net.minecraft.block.BlockState;
@@ -284,7 +283,7 @@ public abstract class AEBaseTileBlock<T extends AEBaseBlockEntity> extends AEBas
/**
* Returns the BlockState based on the given BlockState while considering the
* state of the given TileEntity.
*
* <p>
* If the given TileEntity is not of the right type for this block, the state is
* returned unchanged, this is also the case if the given block state does not
* belong to this block.
@@ -300,7 +299,7 @@ public abstract class AEBaseTileBlock<T extends AEBaseBlockEntity> extends AEBas
/**
* Reimplement this in subclasses to allow tile-entities to update the state of
* their block when their own state changes.
*
* <p>
* It is guaranteed that te is not-null and the block of the given block state
* is this exact block instance.
*/
@@ -19,13 +19,8 @@
package appeng.block.crafting;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import appeng.api.features.AEFeature;
import appeng.block.AEBaseBlockItem;
import appeng.core.AEConfig;
import appeng.core.Api;
public class CraftingStorageItem extends AEBaseBlockItem {
@@ -45,7 +45,7 @@ public class InscriberBlock extends AEBaseTileBlock<InscriberBlockEntity> {
@Override
public int getOpacity(BlockState state, BlockView worldIn, BlockPos pos) {
return 2; // FIXME validate this. a) possibly not required because of getShape b) value
// range. was 2 in 1.10
// range. was 2 in 1.10
}
@Override
@@ -1,4 +1,3 @@
package appeng.block.misc;
import net.fabricmc.api.EnvType;
@@ -26,11 +26,7 @@ import javax.annotation.Nullable;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.block.Material;
import net.minecraft.block.ShapeContext;
import net.minecraft.block.*;
import net.minecraft.item.ItemPlacementContext;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.state.StateManager;
@@ -39,7 +39,6 @@ import net.minecraft.world.BlockView;
import net.minecraft.world.World;
import appeng.block.AEBaseTileBlock;
import appeng.block.networking.WirelessBlock.State;
import appeng.container.ContainerLocator;
import appeng.container.ContainerOpener;
import appeng.container.implementations.WirelessContainer;
@@ -1,4 +1,3 @@
package appeng.block.networking;
import net.fabricmc.api.EnvType;
@@ -1,4 +1,3 @@
package appeng.block.paint;
import java.util.Collection;
@@ -1,4 +1,3 @@
package appeng.block.paint;
import java.util.Collections;
@@ -18,14 +18,7 @@
package appeng.block.paint;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.Material;
import net.minecraft.block.MaterialColor;
import net.minecraft.block.ShapeContext;
import net.minecraft.fluid.Fluid;
import net.minecraft.block.*;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemPlacementContext;
import net.minecraft.item.ItemStack;
@@ -1,4 +1,3 @@
package appeng.block.paint;
import java.util.Collection;
@@ -1,4 +1,3 @@
package appeng.block.paint;
import net.fabricmc.api.EnvType;
@@ -1,4 +1,3 @@
package appeng.block.qnb;
import java.util.EnumSet;
@@ -1,4 +1,3 @@
package appeng.block.qnb;
import java.util.Collection;
@@ -1,4 +1,3 @@
package appeng.block.qnb;
import java.util.Set;
@@ -1,4 +1,3 @@
package appeng.block.qnb;
import net.fabricmc.api.EnvType;
@@ -21,7 +21,6 @@ package appeng.block.spatial;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.BlockView;
import net.minecraft.world.World;
import appeng.block.AEBaseTileBlock;
@@ -65,7 +65,9 @@ public class SkyChestBlock extends AEBaseTileBlock<SkyChestBlockEntity> {
public enum SkyChestType {
STONE, BLOCK
};
}
;
public final SkyChestType type;
@@ -19,7 +19,6 @@ import net.minecraft.util.registry.Registry;
import appeng.api.features.AEFeature;
import appeng.block.AEBaseTileBlock;
import appeng.bootstrap.components.IClientSetupComponent;
import appeng.bootstrap.components.ITileEntityRegistrationComponent;
import appeng.bootstrap.definitions.TileEntityDefinition;
import appeng.core.AppEng;
@@ -30,7 +30,6 @@ import net.minecraft.client.render.model.BakedModel;
import net.minecraft.util.Identifier;
import appeng.block.AEBaseTileBlock;
import appeng.bootstrap.components.BlockColorComponent;
import appeng.bootstrap.components.RenderTypeComponent;
import appeng.client.render.model.AutoRotatingBakedModel;
@@ -5,7 +5,6 @@ import java.util.EnumSet;
import java.util.function.Consumer;
import net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder;
import net.fabricmc.fabric.impl.object.builder.FabricEntityType;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.SpawnGroup;
@@ -18,13 +18,7 @@
package appeng.bootstrap;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.function.BiFunction;
import java.util.function.Function;
import java.util.function.Supplier;
@@ -19,7 +19,6 @@
package appeng.bootstrap;
import java.util.function.BiFunction;
import java.util.function.Predicate;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
@@ -1,8 +1,5 @@
package appeng.bootstrap.components;
import net.minecraft.client.color.block.BlockColors;
import net.minecraft.client.color.item.ItemColors;
import appeng.bootstrap.IBootstrapComponent;
public interface IItemColorRegistrationComponent extends IBootstrapComponent {
@@ -19,9 +19,7 @@
package appeng.bootstrap.components;
import net.fabricmc.fabric.api.client.rendering.v1.ColorProviderRegistry;
import net.minecraft.client.color.block.BlockColors;
import net.minecraft.client.color.item.ItemColorProvider;
import net.minecraft.client.color.item.ItemColors;
import net.minecraft.item.Item;
public class ItemColorComponent implements IItemColorRegistrationComponent {
@@ -1,4 +1,3 @@
package appeng.client;
import java.util.Locale;
+9 -103
View File
@@ -1,10 +1,6 @@
package appeng.client;
import java.util.Collection;
import java.util.EnumMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.*;
import java.util.function.Supplier;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -41,94 +37,18 @@ import appeng.bootstrap.ModelsReloadCallback;
import appeng.bootstrap.components.IClientSetupComponent;
import appeng.bootstrap.components.IItemColorRegistrationComponent;
import appeng.bootstrap.components.IModelBakeComponent;
import appeng.client.gui.implementations.CellWorkbenchScreen;
import appeng.client.gui.implementations.ChestScreen;
import appeng.client.gui.implementations.CondenserScreen;
import appeng.client.gui.implementations.CraftAmountScreen;
import appeng.client.gui.implementations.CraftConfirmScreen;
import appeng.client.gui.implementations.CraftingCPUScreen;
import appeng.client.gui.implementations.CraftingStatusScreen;
import appeng.client.gui.implementations.CraftingTermScreen;
import appeng.client.gui.implementations.DriveScreen;
import appeng.client.gui.implementations.FormationPlaneScreen;
import appeng.client.gui.implementations.GrinderScreen;
import appeng.client.gui.implementations.IOPortScreen;
import appeng.client.gui.implementations.InscriberScreen;
import appeng.client.gui.implementations.InterfaceScreen;
import appeng.client.gui.implementations.InterfaceTerminalScreen;
import appeng.client.gui.implementations.LevelEmitterScreen;
import appeng.client.gui.implementations.MEMonitorableScreen;
import appeng.client.gui.implementations.MEPortableCellScreen;
import appeng.client.gui.implementations.MolecularAssemblerScreen;
import appeng.client.gui.implementations.NetworkStatusScreen;
import appeng.client.gui.implementations.NetworkToolScreen;
import appeng.client.gui.implementations.PatternTermScreen;
import appeng.client.gui.implementations.PriorityScreen;
import appeng.client.gui.implementations.QNBScreen;
import appeng.client.gui.implementations.QuartzKnifeScreen;
import appeng.client.gui.implementations.SecurityStationScreen;
import appeng.client.gui.implementations.SkyChestScreen;
import appeng.client.gui.implementations.SpatialIOPortScreen;
import appeng.client.gui.implementations.StorageBusScreen;
import appeng.client.gui.implementations.UpgradeableScreen;
import appeng.client.gui.implementations.VibrationChamberScreen;
import appeng.client.gui.implementations.WirelessScreen;
import appeng.client.gui.implementations.WirelessTermScreen;
import appeng.client.gui.implementations.*;
import appeng.client.render.FacadeItemModel;
import appeng.client.render.SimpleModelLoader;
import appeng.client.render.cablebus.CableBusModelLoader;
import appeng.client.render.cablebus.P2PTunnelFrequencyModel;
import appeng.client.render.crafting.CraftingCubeModel;
import appeng.client.render.effects.ChargedOreFX;
import appeng.client.render.effects.CraftingFx;
import appeng.client.render.effects.EnergyFx;
import appeng.client.render.effects.LightningArcFX;
import appeng.client.render.effects.LightningFX;
import appeng.client.render.effects.MatterCannonFX;
import appeng.client.render.effects.ParticleTypes;
import appeng.client.render.effects.VibrantFX;
import appeng.client.render.model.BiometricCardModel;
import appeng.client.render.model.ColorApplicatorModel;
import appeng.client.render.model.DriveModel;
import appeng.client.render.model.GlassModel;
import appeng.client.render.model.MemoryCardModel;
import appeng.client.render.model.SkyCompassModel;
import appeng.client.render.effects.*;
import appeng.client.render.model.*;
import appeng.client.render.spatial.SpatialPylonModel;
import appeng.client.render.tesr.InscriberTESR;
import appeng.client.render.tesr.SkyChestTESR;
import appeng.container.implementations.CellWorkbenchContainer;
import appeng.container.implementations.ChestContainer;
import appeng.container.implementations.CondenserContainer;
import appeng.container.implementations.CraftAmountContainer;
import appeng.container.implementations.CraftConfirmContainer;
import appeng.container.implementations.CraftingCPUContainer;
import appeng.container.implementations.CraftingStatusContainer;
import appeng.container.implementations.CraftingTermContainer;
import appeng.container.implementations.DriveContainer;
import appeng.container.implementations.FormationPlaneContainer;
import appeng.container.implementations.GrinderContainer;
import appeng.container.implementations.IOPortContainer;
import appeng.container.implementations.InscriberContainer;
import appeng.container.implementations.InterfaceContainer;
import appeng.container.implementations.InterfaceTerminalContainer;
import appeng.container.implementations.LevelEmitterContainer;
import appeng.container.implementations.MEMonitorableContainer;
import appeng.container.implementations.MEPortableCellContainer;
import appeng.container.implementations.MolecularAssemblerContainer;
import appeng.container.implementations.NetworkStatusContainer;
import appeng.container.implementations.NetworkToolContainer;
import appeng.container.implementations.PatternTermContainer;
import appeng.container.implementations.PriorityContainer;
import appeng.container.implementations.QNBContainer;
import appeng.container.implementations.QuartzKnifeContainer;
import appeng.container.implementations.SecurityStationContainer;
import appeng.container.implementations.SkyChestContainer;
import appeng.container.implementations.SpatialIOPortContainer;
import appeng.container.implementations.StorageBusContainer;
import appeng.container.implementations.UpgradeableContainer;
import appeng.container.implementations.VibrationChamberContainer;
import appeng.container.implementations.WirelessContainer;
import appeng.container.implementations.WirelessTermContainer;
import appeng.container.implementations.*;
import appeng.core.Api;
import appeng.core.ApiDefinitions;
import appeng.core.AppEng;
@@ -136,23 +56,9 @@ import appeng.core.AppEngBase;
import appeng.core.features.registries.PartModels;
import appeng.core.sync.network.ClientNetworkHandler;
import appeng.core.worlddata.WorldData;
import appeng.entity.ChargedQuartzEntity;
import appeng.entity.GrowingCrystalEntity;
import appeng.entity.SingularityEntity;
import appeng.entity.TinyTNTPrimedEntity;
import appeng.entity.TinyTNTPrimedRenderer;
import appeng.fluids.client.gui.FluidFormationPlaneScreen;
import appeng.fluids.client.gui.FluidIOScreen;
import appeng.fluids.client.gui.FluidInterfaceScreen;
import appeng.fluids.client.gui.FluidLevelEmitterScreen;
import appeng.fluids.client.gui.FluidStorageBusScreen;
import appeng.fluids.client.gui.FluidTerminalScreen;
import appeng.fluids.container.FluidFormationPlaneContainer;
import appeng.fluids.container.FluidIOContainer;
import appeng.fluids.container.FluidInterfaceContainer;
import appeng.fluids.container.FluidLevelEmitterContainer;
import appeng.fluids.container.FluidStorageBusContainer;
import appeng.fluids.container.FluidTerminalContainer;
import appeng.entity.*;
import appeng.fluids.client.gui.*;
import appeng.fluids.container.*;
import appeng.hooks.ClientTickHandler;
import appeng.parts.automation.PlaneModel;
import appeng.tile.crafting.MolecularAssemblerRenderer;
@@ -374,7 +280,7 @@ public final class AppEngClient extends AppEngBase {
addBuiltInModel("item/biometric_card", BiometricCardModel::new);
addBuiltInModel("block/drive", DriveModel::new);
addBuiltInModel("color_applicator", ColorApplicatorModel::new); // FIXME need to wire this up (this might just
// not be needed)
// not be needed)
addBuiltInModel("block/spatial_pylon", SpatialPylonModel::new);
addBuiltInModel("block/paint", PaintSplotchesModel::new);
addBuiltInModel("block/qnb/qnb_formed", QnbFormedModel::new);
@@ -18,11 +18,7 @@
package appeng.client.gui;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@@ -70,17 +66,8 @@ import appeng.client.me.SlotDisconnected;
import appeng.client.me.SlotME;
import appeng.client.render.StackSizeRenderer;
import appeng.container.AEBaseContainer;
import appeng.container.slot.AppEngCraftingSlot;
import appeng.container.slot.AppEngSlot;
import appeng.container.slot.*;
import appeng.container.slot.AppEngSlot.CalculatedValidity;
import appeng.container.slot.CraftingTermSlot;
import appeng.container.slot.DisabledSlot;
import appeng.container.slot.FakeSlot;
import appeng.container.slot.IOptionalSlot;
import appeng.container.slot.InaccessibleSlot;
import appeng.container.slot.OutputSlot;
import appeng.container.slot.PatternTermSlot;
import appeng.container.slot.RestrictedInputSlot;
import appeng.core.AELog;
import appeng.core.AppEng;
import appeng.core.sync.network.NetworkHandler;
@@ -1,4 +1,3 @@
package appeng.client.gui;
import javax.annotation.Nonnull;
@@ -13,11 +13,7 @@ import appeng.api.definitions.IDefinitions;
import appeng.api.definitions.IParts;
import appeng.client.gui.AEBaseScreen;
import appeng.client.gui.widgets.TabButton;
import appeng.container.implementations.ChestContainer;
import appeng.container.implementations.CraftingTermContainer;
import appeng.container.implementations.MEMonitorableContainer;
import appeng.container.implementations.PatternTermContainer;
import appeng.container.implementations.WirelessTermContainer;
import appeng.container.implementations.*;
import appeng.core.Api;
import appeng.core.sync.network.NetworkHandler;
import appeng.core.sync.packets.SwitchGuisPacket;
@@ -55,35 +51,23 @@ final class AESubScreen {
IPriorityHost priorityHost = (IPriorityHost) containerTarget;
this.previousContainerIcon = priorityHost.getItemStackRepresentation();
this.previousContainerType = ChestContainer.TYPE;
}
else if (containerTarget instanceof IPriorityHost) {
} else if (containerTarget instanceof IPriorityHost) {
IPriorityHost priorityHost = (IPriorityHost) containerTarget;
this.previousContainerIcon = priorityHost.getItemStackRepresentation();
this.previousContainerType = priorityHost.getContainerType();
}
else if (containerTarget instanceof WirelessTerminalGuiObject) {
} else if (containerTarget instanceof WirelessTerminalGuiObject) {
this.previousContainerIcon = definitions.items().wirelessTerminal().maybeStack(1).orElse(ItemStack.EMPTY);
this.previousContainerType = WirelessTermContainer.TYPE;
}
else if (containerTarget instanceof TerminalPart) {
} else if (containerTarget instanceof TerminalPart) {
this.previousContainerIcon = parts.terminal().maybeStack(1).orElse(ItemStack.EMPTY);
this.previousContainerType = MEMonitorableContainer.TYPE;
}
else if (containerTarget instanceof CraftingTerminalPart) {
} else if (containerTarget instanceof CraftingTerminalPart) {
this.previousContainerIcon = parts.craftingTerminal().maybeStack(1).orElse(ItemStack.EMPTY);
this.previousContainerType = CraftingTermContainer.TYPE;
}
else if (containerTarget instanceof PatternTerminalPart) {
} else if (containerTarget instanceof PatternTerminalPart) {
this.previousContainerIcon = parts.patternTerminal().maybeStack(1).orElse(ItemStack.EMPTY);
this.previousContainerType = PatternTermContainer.TYPE;
}
else {
} else {
this.previousContainerIcon = null;
this.previousContainerType = null;
}
@@ -25,11 +25,7 @@ import net.minecraft.text.Text;
import alexiil.mc.lib.attributes.item.FixedItemInv;
import appeng.api.config.ActionItems;
import appeng.api.config.CopyMode;
import appeng.api.config.FuzzyMode;
import appeng.api.config.Settings;
import appeng.api.config.Upgrades;
import appeng.api.config.*;
import appeng.api.implementations.items.IUpgradeModule;
import appeng.client.gui.widgets.ActionButton;
import appeng.client.gui.widgets.SettingToggleButton;
@@ -23,7 +23,6 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import com.google.common.base.Joiner;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.gui.widget.ButtonWidget;
@@ -23,7 +23,6 @@ import java.util.Iterator;
import java.util.List;
import java.util.concurrent.TimeUnit;
import com.google.common.base.Joiner;
import com.mojang.blaze3d.systems.RenderSystem;
import org.apache.commons.lang3.time.DurationFormatUtils;
@@ -18,21 +18,13 @@
package appeng.client.gui.implementations;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.WeakHashMap;
import java.util.*;
import com.google.common.collect.HashMultimap;
import com.mojang.blaze3d.systems.RenderSystem;
import org.lwjgl.glfw.GLFW;
import net.minecraft.client.util.InputUtil;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.item.ItemStack;
@@ -242,7 +234,7 @@ public class InterfaceTerminalScreen extends AEBaseScreen<InterfaceTerminalConta
/**
* Rebuilds the list of interfaces.
*
* <p>
* Respects a search term if present (ignores case) and adding only matching
* patterns.
*/
@@ -335,12 +327,11 @@ public class InterfaceTerminalScreen extends AEBaseScreen<InterfaceTerminalConta
/**
* Tries to retrieve a cache for a with search term as keyword.
*
* <p>
* If this cache should be empty, it will populate it with an earlier cache if
* available or at least the cache for the empty string.
*
* @param searchTerm the corresponding search
*
* @return a Set matching a superset of the search term
*/
private Set<Object> getCacheForSearchTerm(final String searchTerm) {
@@ -18,19 +18,11 @@
package appeng.client.gui.implementations;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.text.LiteralText;
import net.minecraft.text.Text;
import appeng.api.config.FuzzyMode;
import appeng.api.config.LevelType;
import appeng.api.config.PowerUnits;
import appeng.api.config.RedstoneMode;
import appeng.api.config.Settings;
import appeng.api.config.Upgrades;
import appeng.api.config.YesNo;
import appeng.api.config.*;
import appeng.client.gui.NumberEntryType;
import appeng.client.gui.widgets.ServerSettingToggleButton;
import appeng.client.gui.widgets.SettingToggleButton;
@@ -28,12 +28,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.screen.slot.Slot;
import net.minecraft.text.Text;
import appeng.api.config.SearchBoxMode;
import appeng.api.config.Settings;
import appeng.api.config.SortDir;
import appeng.api.config.SortOrder;
import appeng.api.config.TerminalStyle;
import appeng.api.config.ViewItems;
import appeng.api.config.*;
import appeng.api.implementations.guiobjects.IPortableCell;
import appeng.api.implementations.tiles.IMEChest;
import appeng.api.implementations.tiles.IViewCellStorage;
@@ -42,11 +37,7 @@ import appeng.api.util.IConfigManager;
import appeng.api.util.IConfigurableObject;
import appeng.client.ActionKey;
import appeng.client.gui.AEBaseMEScreen;
import appeng.client.gui.widgets.AETextField;
import appeng.client.gui.widgets.ISortSource;
import appeng.client.gui.widgets.Scrollbar;
import appeng.client.gui.widgets.SettingToggleButton;
import appeng.client.gui.widgets.TabButton;
import appeng.client.gui.widgets.*;
import appeng.client.me.InternalSlotME;
import appeng.client.me.ItemRepo;
import appeng.container.implementations.CraftingStatusContainer;
@@ -18,10 +18,8 @@
package appeng.client.gui.implementations;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.text.LiteralText;
import net.minecraft.text.Text;
import appeng.client.gui.AEBaseScreen;
@@ -21,7 +21,6 @@ package appeng.client.gui.implementations;
import org.lwjgl.glfw.GLFW;
import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.client.util.InputUtil;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.text.LiteralText;
@@ -22,11 +22,7 @@ import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.text.Text;
import appeng.api.config.AccessRestriction;
import appeng.api.config.ActionItems;
import appeng.api.config.FuzzyMode;
import appeng.api.config.Settings;
import appeng.api.config.StorageFilter;
import appeng.api.config.*;
import appeng.client.gui.widgets.ActionButton;
import appeng.client.gui.widgets.ServerSettingToggleButton;
import appeng.client.gui.widgets.SettingToggleButton;
@@ -22,12 +22,7 @@ import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.text.Text;
import appeng.api.config.FuzzyMode;
import appeng.api.config.RedstoneMode;
import appeng.api.config.SchedulingMode;
import appeng.api.config.Settings;
import appeng.api.config.Upgrades;
import appeng.api.config.YesNo;
import appeng.api.config.*;
import appeng.api.implementations.IUpgradeableHost;
import appeng.client.gui.AEBaseScreen;
import appeng.client.gui.widgets.ServerSettingToggleButton;
@@ -33,7 +33,7 @@ import net.minecraft.text.LiteralText;
* A modified version of the Minecraft text field. You can initialize it over
* the full element span. The mouse click area is increased to the full element
* subtracted with the defined padding.
*
* <p>
* The rendering does pay attention to the size of the '_' caret.
*/
public class AETextField extends TextFieldWidget {
@@ -1,4 +1,3 @@
package appeng.client.gui.widgets;
import net.minecraft.client.MinecraftClient;
@@ -29,7 +29,7 @@ public interface ITooltip {
/**
* Returns the tooltip message.
*
* <p>
* Should use {@link net.minecraft.text.LiteralText#EMPTY} for no tooltip
*
* @return tooltip message
@@ -54,7 +54,7 @@ public abstract class IconButton extends ButtonWidget implements ITooltip {
textureManager.bindTexture(TEXTURE_STATES);
RenderSystem.disableDepthTest();
RenderSystem.enableBlend(); // FIXME: This should be the _default_ state, but some vanilla widget disables
// it :|
// it :|
if (this.halfSize) {
this.width = 8;
this.height = 8;
@@ -29,24 +29,7 @@ import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.text.LiteralText;
import net.minecraft.text.Text;
import appeng.api.config.AccessRestriction;
import appeng.api.config.CondenserOutput;
import appeng.api.config.FullnessMode;
import appeng.api.config.FuzzyMode;
import appeng.api.config.LevelType;
import appeng.api.config.OperationMode;
import appeng.api.config.PowerUnits;
import appeng.api.config.RedstoneMode;
import appeng.api.config.RelativeDirection;
import appeng.api.config.SchedulingMode;
import appeng.api.config.SearchBoxMode;
import appeng.api.config.Settings;
import appeng.api.config.SortDir;
import appeng.api.config.SortOrder;
import appeng.api.config.StorageFilter;
import appeng.api.config.TerminalStyle;
import appeng.api.config.ViewItems;
import appeng.api.config.YesNo;
import appeng.api.config.*;
import appeng.core.localization.ButtonToolTips;
import appeng.util.EnumCycler;
@@ -70,7 +70,7 @@ public class StackSizeRenderer {
final int offset = AEConfig.instance().isUseLargeFonts() ? 0 : -1;
AffineTransformation tm = new AffineTransformation(new Vector3f(0, 0, 300), // Taken from
// ItemRenderer.renderItemOverlayIntoGUI
// ItemRenderer.renderItemOverlayIntoGUI
null, new Vector3f(scaleFactor, scaleFactor, scaleFactor), null);
RenderSystem.disableBlend();
@@ -77,6 +77,7 @@ public class TesrRenderHelper {
// TODO, A different approach will have to be used for this from TESRs, -covers,
// i have ideas.
/**
* Render an item in 2D.
*/
@@ -18,12 +18,7 @@
package appeng.client.render.cablebus;
import java.util.ArrayList;
import java.util.Collections;
import java.util.EnumMap;
import java.util.EnumSet;
import java.util.List;
import java.util.Locale;
import java.util.*;
import java.util.function.Function;
import net.fabricmc.api.EnvType;
@@ -110,7 +105,7 @@ class CableBuilder {
/**
* Adds the core of a cable to the given list of quads.
*
* <p>
* The type of cable core is automatically deduced from the given cable type.
*/
public void addCableCore(AECableType cableType, AEColor color, QuadEmitter emitter) {
@@ -18,14 +18,8 @@
package appeng.client.render.cablebus;
import java.util.ArrayList;
import java.util.EnumMap;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.Map.Entry;
import java.util.Random;
import java.util.function.Supplier;
import javax.annotation.Nullable;
@@ -19,11 +19,7 @@
package appeng.client.render.cablebus;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.EnumMap;
import java.util.EnumSet;
import java.util.List;
import java.util.Objects;
import java.util.*;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Box;
@@ -18,14 +18,15 @@
package appeng.client.render.cablebus;
import java.util.*;
import java.util.EnumMap;
import java.util.EnumSet;
import com.google.common.base.Preconditions;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.renderer.v1.mesh.QuadEmitter;
import net.minecraft.client.render.*;
import net.minecraft.client.render.LightmapTextureManager;
import net.minecraft.client.texture.Sprite;
import net.minecraft.client.util.math.Vector4f;
import net.minecraft.util.math.Direction;
@@ -18,14 +18,8 @@
package appeng.client.render.cablebus;
import java.util.ArrayList;
import java.util.Collections;
import java.util.EnumMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.Map.Entry;
import java.util.Random;
import java.util.Set;
import java.util.function.Function;
import java.util.function.Supplier;
@@ -59,11 +53,7 @@ import appeng.api.util.AEAxisAlignedBB;
import appeng.core.Api;
import appeng.mixins.MinecraftClientAccessor;
import appeng.parts.misc.CableAnchorPart;
import appeng.thirdparty.codechicken.lib.model.pipeline.transformers.QuadClamper;
import appeng.thirdparty.codechicken.lib.model.pipeline.transformers.QuadCornerKicker;
import appeng.thirdparty.codechicken.lib.model.pipeline.transformers.QuadFaceStripper;
import appeng.thirdparty.codechicken.lib.model.pipeline.transformers.QuadReInterpolator;
import appeng.thirdparty.codechicken.lib.model.pipeline.transformers.QuadTinter;
import appeng.thirdparty.codechicken.lib.model.pipeline.transformers.*;
/**
* The FacadeBuilder builds for facades..
@@ -1,4 +1,3 @@
package appeng.client.render.cablebus;
import net.minecraft.block.BlockState;
@@ -1,4 +1,3 @@
package appeng.client.render.cablebus;
import java.util.Random;
@@ -27,7 +27,6 @@ import net.minecraft.client.particle.ParticleFactory;
import net.minecraft.client.particle.SpriteBillboardParticle;
import net.minecraft.client.particle.SpriteProvider;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.world.World;
@Environment(EnvType.CLIENT)
public class LightningArcFX extends LightningFX {
@@ -1,16 +1,8 @@
package appeng.client.render.effects;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.client.particle.v1.ParticleFactoryRegistry;
import net.fabricmc.fabric.api.particle.v1.FabricParticleTypes;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.particle.ParticleManager;
import net.minecraft.particle.DefaultParticleType;
import net.minecraft.particle.ParticleType;
import net.minecraft.util.registry.Registry;
import appeng.core.AppEng;
public final class ParticleTypes {
@@ -19,21 +19,15 @@
package appeng.client.render.model;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Set;
import java.util.function.Function;
import javax.annotation.Nullable;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.mojang.datafixers.util.Pair;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.ModelBakeSettings;
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.render.model.UnbakedModel;
import net.minecraft.client.texture.Sprite;
import net.minecraft.client.util.SpriteIdentifier;
import net.minecraft.util.Identifier;
@@ -92,9 +92,7 @@ class SpatialPylonBakedModel implements BakedModel, FabricBakedModel {
builder.setUvRotation(Direction.UP, 1);
builder.setUvRotation(Direction.DOWN, 1);
}
}
else if (displayAxis == SpatialPylonBlockEntity.DISPLAY_Y) {
} else if (displayAxis == SpatialPylonBlockEntity.DISPLAY_Y) {
ori = Direction.UP;
if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MAX) {
builder.setUvRotation(Direction.NORTH, 3);
@@ -102,9 +100,7 @@ class SpatialPylonBakedModel implements BakedModel, FabricBakedModel {
builder.setUvRotation(Direction.EAST, 3);
builder.setUvRotation(Direction.WEST, 3);
}
}
else if (displayAxis == SpatialPylonBlockEntity.DISPLAY_Z) {
} else if (displayAxis == SpatialPylonBlockEntity.DISPLAY_Z) {
ori = Direction.NORTH;
if ((flags & SpatialPylonBlockEntity.DISPLAY_MIDDLE) == SpatialPylonBlockEntity.DISPLAY_END_MAX) {
builder.setUvRotation(Direction.EAST, 2);
@@ -1,4 +1,3 @@
package appeng.client.render.tesr;
import com.google.common.collect.ImmutableList;
@@ -22,7 +22,6 @@ import com.google.common.collect.ImmutableList;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.event.client.ClientSpriteRegistryCallback;
import net.minecraft.block.Block;
import net.minecraft.client.model.ModelPart;
import net.minecraft.client.render.RenderLayer;
@@ -18,12 +18,8 @@
package appeng.client.render.tesr;
import java.util.Random;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.renderer.v1.RendererAccess;
import net.fabricmc.fabric.api.renderer.v1.mesh.MeshBuilder;
import net.minecraft.block.BlockState;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.RenderLayer;
@@ -55,14 +55,7 @@ import appeng.api.storage.data.IAEItemStack;
import appeng.client.me.SlotME;
import appeng.container.guisync.GuiSync;
import appeng.container.guisync.SyncData;
import appeng.container.slot.AppEngSlot;
import appeng.container.slot.CraftingMatrixSlot;
import appeng.container.slot.CraftingTermSlot;
import appeng.container.slot.DisabledSlot;
import appeng.container.slot.FakeSlot;
import appeng.container.slot.InaccessibleSlot;
import appeng.container.slot.PlayerHotBarSlot;
import appeng.container.slot.PlayerInvSlot;
import appeng.container.slot.*;
import appeng.core.AELog;
import appeng.core.Api;
import appeng.core.sync.network.NetworkHandler;
@@ -25,11 +25,7 @@ import net.minecraft.screen.ScreenHandlerType;
import alexiil.mc.lib.attributes.item.FixedItemInv;
import appeng.api.config.FuzzyMode;
import appeng.api.config.SecurityPermissions;
import appeng.api.config.Settings;
import appeng.api.config.Upgrades;
import appeng.api.config.YesNo;
import appeng.api.config.*;
import appeng.container.ContainerLocator;
import appeng.container.guisync.GuiSync;
import appeng.container.slot.FakeTypeOnlySlot;
@@ -25,11 +25,7 @@ import net.minecraft.screen.ScreenHandlerType;
import alexiil.mc.lib.attributes.item.FixedItemInv;
import appeng.api.config.FullnessMode;
import appeng.api.config.OperationMode;
import appeng.api.config.RedstoneMode;
import appeng.api.config.SecurityPermissions;
import appeng.api.config.Settings;
import appeng.api.config.*;
import appeng.container.ContainerLocator;
import appeng.container.guisync.GuiSync;
import appeng.container.slot.OutputSlot;
@@ -20,7 +20,6 @@ package appeng.container.implementations;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.network.PacketByteBuf;
@@ -28,12 +27,7 @@ import net.minecraft.screen.ScreenHandlerType;
import alexiil.mc.lib.attributes.item.FixedItemInv;
import appeng.api.config.FuzzyMode;
import appeng.api.config.LevelType;
import appeng.api.config.RedstoneMode;
import appeng.api.config.SecurityPermissions;
import appeng.api.config.Settings;
import appeng.api.config.YesNo;
import appeng.api.config.*;
import appeng.client.gui.implementations.NumberEntryWidget;
import appeng.container.ContainerLocator;
import appeng.container.guisync.GuiSync;
@@ -32,13 +32,7 @@ import net.minecraft.screen.ScreenHandlerListener;
import net.minecraft.screen.ScreenHandlerType;
import net.minecraft.server.network.ServerPlayerEntity;
import appeng.api.config.Actionable;
import appeng.api.config.PowerMultiplier;
import appeng.api.config.SecurityPermissions;
import appeng.api.config.Settings;
import appeng.api.config.SortDir;
import appeng.api.config.SortOrder;
import appeng.api.config.ViewItems;
import appeng.api.config.*;
import appeng.api.implementations.guiobjects.IGuiItemObject;
import appeng.api.implementations.guiobjects.IPortableCell;
import appeng.api.implementations.tiles.IMEChest;
@@ -18,17 +18,11 @@
package appeng.container.implementations;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.CraftingInventory;
import net.minecraft.inventory.CraftingResultInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.ListTag;
import net.minecraft.nbt.Tag;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.recipe.CraftingRecipe;
import net.minecraft.recipe.Recipe;
@@ -55,12 +49,7 @@ import appeng.api.storage.data.IItemList;
import appeng.container.ContainerLocator;
import appeng.container.ContainerNull;
import appeng.container.guisync.GuiSync;
import appeng.container.slot.FakeCraftingMatrixSlot;
import appeng.container.slot.IOptionalSlotHost;
import appeng.container.slot.OptionalFakeSlot;
import appeng.container.slot.PatternOutputsSlot;
import appeng.container.slot.PatternTermSlot;
import appeng.container.slot.RestrictedInputSlot;
import appeng.container.slot.*;
import appeng.core.Api;
import appeng.core.sync.packets.PatternSlotPacket;
import appeng.helpers.IContainerCraftingPacket;
@@ -21,7 +21,6 @@ package appeng.container.implementations;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.network.PacketByteBuf;
@@ -28,12 +28,7 @@ import net.minecraft.screen.ScreenHandlerType;
import alexiil.mc.lib.attributes.item.FixedItemInv;
import appeng.api.config.AccessRestriction;
import appeng.api.config.FuzzyMode;
import appeng.api.config.SecurityPermissions;
import appeng.api.config.Settings;
import appeng.api.config.StorageFilter;
import appeng.api.config.Upgrades;
import appeng.api.config.*;
import appeng.api.storage.IMEInventory;
import appeng.api.storage.channels.IItemStorageChannel;
import appeng.api.storage.data.IAEItemStack;
@@ -30,13 +30,7 @@ import net.minecraft.world.World;
import alexiil.mc.lib.attributes.item.FixedItemInv;
import appeng.api.config.FuzzyMode;
import appeng.api.config.RedstoneMode;
import appeng.api.config.SchedulingMode;
import appeng.api.config.SecurityPermissions;
import appeng.api.config.Settings;
import appeng.api.config.Upgrades;
import appeng.api.config.YesNo;
import appeng.api.config.*;
import appeng.api.implementations.IUpgradeableHost;
import appeng.api.implementations.guiobjects.IGuiItem;
import appeng.api.parts.IPart;
@@ -44,11 +38,7 @@ import appeng.api.util.IConfigManager;
import appeng.container.AEBaseContainer;
import appeng.container.ContainerLocator;
import appeng.container.guisync.GuiSync;
import appeng.container.slot.FakeTypeOnlySlot;
import appeng.container.slot.IOptionalSlotHost;
import appeng.container.slot.OptionalFakeSlot;
import appeng.container.slot.OptionalTypeOnlyFakeSlot;
import appeng.container.slot.RestrictedInputSlot;
import appeng.container.slot.*;
import appeng.items.contents.NetworkToolViewer;
import appeng.items.tools.NetworkToolItem;
import appeng.parts.automation.ExportBusPart;
@@ -20,10 +20,9 @@ package appeng.container.interfaces;
/**
* Any item providing a GUI and depending on an exact inventory slot.
*
* <p>
* This interface is likely a volatile one until a general GUI refactoring
* occurred. Use it with care and expect changes.
*
*/
public interface IInventorySlotAware {
/**
@@ -22,7 +22,7 @@ import appeng.client.gui.widgets.ProgressBar;
/**
* This interface provides the data for anything simulating a progress.
*
* <p>
* Its main use is in combination with the {@link ProgressBar}, which ensures to
* scale it to a percentage of 0 to 100.
*/
@@ -38,7 +38,7 @@ public interface IProgressProvider {
/**
* The max value the progress.
*
* <p>
* It is not limited to a value of 100 and can be scaled to fit the current
* needs. For example scaled down to decrease or scaled up to increase the
* precision.
+26 -35
View File
@@ -59,7 +59,7 @@ public final class AELog {
/**
* Indicates of the global log is enabled or disabled.
*
* <p>
* By default it is enabled.
*
* @return true when the log is enabled.
@@ -70,10 +70,10 @@ public final class AELog {
/**
* Logs a formatted message with a specific log level.
*
* <p>
* This uses {@link String#format(String, Object...)} as opposed to the
* {@link ParameterizedMessage} to allow a more flexible formatting.
*
* <p>
* The output can be globally disabled via the configuration file.
*
* @param level the intended level.
@@ -93,16 +93,15 @@ public final class AELog {
/**
* Log an exception with a custom message formated via
* {@link String#format(String, Object...)}
*
* <p>
* Similar to {@link AELog#log(Level, String, Object...)}.
*
* @see AELog#log(Level, String, Object...)
*
* @param level the intended level.
* @param exception
* @param message the message to be formatted.
* @param params the parameters used for
* {@link String#format(String, Object...)}.
* @see AELog#log(Level, String, Object...)
*/
public static void log(@Nonnull final Level level, @Nonnull final Throwable exception, @Nonnull String message,
final Object... params) {
@@ -115,9 +114,9 @@ public final class AELog {
}
/**
* @see AELog#log(Level, String, Object...)
* @param format
* @param params
* @see AELog#log(Level, String, Object...)
*/
public static void info(@Nonnull final String format, final Object... params) {
log(Level.INFO, format, params);
@@ -126,9 +125,8 @@ public final class AELog {
/**
* Log exception as {@link Level#INFO}
*
* @see AELog#log(Level, Throwable, String, Object...)
*
* @param exception
* @see AELog#log(Level, Throwable, String, Object...)
*/
public static void info(@Nonnull final Throwable exception) {
log(Level.INFO, exception, DEFAULT_EXCEPTION_MESSAGE);
@@ -137,19 +135,18 @@ public final class AELog {
/**
* Log exception as {@link Level#INFO}
*
* @see AELog#log(Level, Throwable, String, Object...)
*
* @param exception
* @param message
* @see AELog#log(Level, Throwable, String, Object...)
*/
public static void info(@Nonnull final Throwable exception, @Nonnull final String message) {
log(Level.INFO, exception, message);
}
/**
* @see AELog#log(Level, String, Object...)
* @param format
* @param params
* @see AELog#log(Level, String, Object...)
*/
public static void warn(@Nonnull final String format, final Object... params) {
log(Level.WARN, format, params);
@@ -158,9 +155,8 @@ public final class AELog {
/**
* Log exception as {@link Level#WARN}
*
* @see AELog#log(Level, Throwable, String, Object...)
*
* @param exception
* @see AELog#log(Level, Throwable, String, Object...)
*/
public static void warn(@Nonnull final Throwable exception) {
log(Level.WARN, exception, DEFAULT_EXCEPTION_MESSAGE);
@@ -169,19 +165,18 @@ public final class AELog {
/**
* Log exception as {@link Level#WARN}
*
* @see AELog#log(Level, Throwable, String, Object...)
*
* @param exception
* @param message
* @see AELog#log(Level, Throwable, String, Object...)
*/
public static void warn(@Nonnull final Throwable exception, @Nonnull final String message) {
log(Level.WARN, exception, message);
}
/**
* @see AELog#log(Level, String, Object...)
* @param format
* @param params
* @see AELog#log(Level, String, Object...)
*/
public static void error(@Nonnull final String format, final Object... params) {
log(Level.ERROR, format, params);
@@ -190,9 +185,8 @@ public final class AELog {
/**
* Log exception as {@link Level#ERROR}
*
* @see AELog#log(Level, Throwable, String, Object...)
*
* @param exception
* @see AELog#log(Level, Throwable, String, Object...)
*/
public static void error(@Nonnull final Throwable exception) {
log(Level.ERROR, exception, DEFAULT_EXCEPTION_MESSAGE);
@@ -201,10 +195,9 @@ public final class AELog {
/**
* Log exception as {@link Level#ERROR}
*
* @see AELog#log(Level, Throwable, String, Object...)
*
* @param exception
* @param message
* @see AELog#log(Level, Throwable, String, Object...)
*/
public static void error(@Nonnull final Throwable exception, @Nonnull final String message) {
log(Level.ERROR, exception, message);
@@ -213,9 +206,9 @@ public final class AELog {
/**
* Log message as {@link Level#DEBUG}
*
* @see AELog#log(Level, String, Object...)
* @param format
* @param data
* @see AELog#log(Level, String, Object...)
*/
public static void debug(@Nonnull final String format, final Object... data) {
if (AELog.isDebugLogEnabled()) {
@@ -226,9 +219,8 @@ public final class AELog {
/**
* Log exception as {@link Level#DEBUG}
*
* @see AELog#log(Level, Throwable, String, Object...)
*
* @param exception
* @see AELog#log(Level, Throwable, String, Object...)
*/
public static void debug(@Nonnull final Throwable exception) {
if (AELog.isDebugLogEnabled()) {
@@ -239,10 +231,9 @@ public final class AELog {
/**
* Log exception as {@link Level#DEBUG}
*
* @see AELog#log(Level, Throwable, String, Object...)
*
* @param exception
* @param message
* @see AELog#log(Level, Throwable, String, Object...)
*/
public static void debug(@Nonnull final Throwable exception, @Nonnull final String message) {
if (AELog.isDebugLogEnabled()) {
@@ -252,7 +243,7 @@ public final class AELog {
/**
* Use to check for an enabled debug log.
*
* <p>
* Can be used to prevent the execution of debug logic.
*
* @return true when the debug log is enabled.
@@ -291,14 +282,14 @@ public final class AELog {
/**
* Logging of block updates.
*
* <p>
* Off by default, can be enabled inside the configuration file.
*
* @see AELog#log(Level, String, Object...)
* @param pos
* @param currentState
* @param newState
* @param aeBaseTile
* @see AELog#log(Level, String, Object...)
*/
public static void blockUpdate(@Nonnull final BlockPos pos, @Nonnull BlockState currentState,
@Nonnull BlockState newState, @Nonnull final AEBaseBlockEntity aeBaseTile) {
@@ -309,7 +300,7 @@ public final class AELog {
/**
* Use to check for an enabled crafting log.
*
* <p>
* Can be used to prevent the execution of unneeded logic.
*
* @return true when the crafting log is enabled.
@@ -320,12 +311,12 @@ public final class AELog {
/**
* Logging for autocrafting.
*
* <p>
* Off by default, can be enabled inside the configuration file.
*
* @see AELog#log(Level, String, Object...)
* @param message
* @param params
* @see AELog#log(Level, String, Object...)
*/
public static void crafting(@Nonnull final String message, final Object... params) {
if (AELog.isCraftingLogEnabled()) {
@@ -335,7 +326,7 @@ public final class AELog {
/**
* Use to check for an enabled crafting debug log.
*
* <p>
* Can be used to prevent the execution of unneeded logic.
*
* @return true when the crafting debug log is enabled.
@@ -347,12 +338,12 @@ public final class AELog {
/**
* Debug logging for autocrafting.
*
* <p>
* Off by default, can be enabled inside the configuration file.
*
* @see AELog#log(Level, String, Object...)
* @param message
* @param params
* @see AELog#log(Level, String, Object...)
*/
public static void craftingDebug(@Nonnull final String message, final Object... params) {
if (AELog.isCraftingDebugLogEnabled()) {
+3 -7
View File
@@ -25,11 +25,7 @@ import appeng.api.crafting.ICraftingHelper;
import appeng.api.features.IRegistryContainer;
import appeng.api.networking.IGridHelper;
import appeng.api.storage.IStorageHelper;
import appeng.core.api.ApiClientHelper;
import appeng.core.api.ApiCrafting;
import appeng.core.api.ApiGrid;
import appeng.core.api.ApiPart;
import appeng.core.api.ApiStorage;
import appeng.core.api.*;
import appeng.core.features.registries.PartModels;
import appeng.core.features.registries.RegistryContainer;
@@ -43,10 +39,10 @@ public final class Api implements IAppEngApi {
/**
* Use primarily to access the API.
*
* <p>
* Using {@link IAppEngApi} intentionally to avoid using functionality not
* exposed by accident.
*
* <p>
* In some cases we might have to access the API before it is announced via
* {@link AEAddon}, otherwise we could just inject it into AE2 itself.
*/
+1 -5
View File
@@ -18,14 +18,11 @@
package appeng.core;
import java.util.List;
import java.util.Random;
import java.util.stream.Stream;
import javax.annotation.Nonnull;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.client.util.InputUtil;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.Identifier;
@@ -33,7 +30,6 @@ import net.minecraft.util.hit.HitResult;
import net.minecraft.world.World;
import appeng.api.parts.CableRenderMode;
import appeng.block.AEBaseBlock;
import appeng.client.ActionKey;
import appeng.client.EffectType;
import appeng.core.stats.AdvancementTriggers;
@@ -73,7 +69,7 @@ public interface AppEng {
* Sets the player that is currently interacting with a cable or part attached
* to a cable. This will return that player's cable render mode from calls to
* {@link #getCableRenderMode()}, until another player or null is set.
*
*
* @param player Null to revert to the default cable render mode.
*/
void setPartInteractionPlayer(PlayerEntity player);
@@ -6,7 +6,6 @@ import javax.annotation.Nullable;
import net.fabricmc.fabric.api.command.v1.CommandRegistrationCallback;
import net.fabricmc.fabric.api.screenhandler.v1.ScreenHandlerRegistry;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.block.entity.*;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory;
@@ -1,7 +1,5 @@
package appeng.core;
import com.google.common.base.Preconditions;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.block.BlockState;
import net.minecraft.util.registry.BuiltinRegistries;
@@ -25,6 +23,7 @@ import appeng.worldgen.BiomeModifier;
import appeng.worldgen.ChargedQuartzOreConfig;
import appeng.worldgen.ChargedQuartzOreFeature;
import appeng.worldgen.meteorite.MeteoriteStructure;
import appeng.worldgen.meteorite.MeteoriteStructurePiece;
/**
* Hooks into the very early bootstrapping phase to register things before the
@@ -38,7 +37,9 @@ public final class AppEngBootstrap {
}
public synchronized static void initialize() {
Preconditions.checkState(!initialized, "Already initialized!");
if (initialized) {
return;
}
initialized = true;
AEConfig.load(FabricLoader.getInstance().getConfigDirectory());
@@ -64,6 +65,9 @@ public final class AppEngBootstrap {
}
private static void registerStructures() {
MeteoriteStructurePiece.register();
// Registering into the registry alone is INSUFFICIENT!
// There's a bidirectional map in the Structure class itself primarily for the
// purposes of NBT serialization
@@ -1,6 +1,6 @@
/*
* This file is part of Applied Energistics 2.
*
*
* Copyright (c) 2013 - 2020, AlgorithmX2, All rights reserved.
*
* Applied Energistics 2 is free software: you can redistribute it and/or modify
@@ -1,6 +1,6 @@
/*
* This file is part of Applied Energistics 2.
*
*
* Copyright (c) 2020, TeamAppliedEnergistics, All rights reserved.
*
* Applied Energistics 2 is free software: you can redistribute it and/or modify
@@ -19,9 +19,7 @@
package appeng.core.api.client;
import java.lang.reflect.Array;
import java.util.*;
import java.util.stream.Stream;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -38,40 +38,12 @@ import appeng.api.definitions.IBlocks;
import appeng.api.definitions.ITileDefinition;
import appeng.api.features.AEFeature;
import appeng.block.AEBaseBlockItemChargeable;
import appeng.block.crafting.*;
import appeng.block.crafting.AbstractCraftingUnitBlock.CraftingUnitType;
import appeng.block.crafting.CraftingMonitorBlock;
import appeng.block.crafting.CraftingMonitorBlockRendering;
import appeng.block.crafting.CraftingStorageBlock;
import appeng.block.crafting.CraftingStorageItem;
import appeng.block.crafting.CraftingUnitBlock;
import appeng.block.crafting.MolecularAssemblerBlock;
import appeng.block.grindstone.CrankBlock;
import appeng.block.grindstone.GrinderBlock;
import appeng.block.misc.CellWorkbenchBlock;
import appeng.block.misc.ChargerBlock;
import appeng.block.misc.CondenserBlock;
import appeng.block.misc.InscriberBlock;
import appeng.block.misc.InscriberRendering;
import appeng.block.misc.InterfaceBlock;
import appeng.block.misc.LightDetectorBlock;
import appeng.block.misc.QuartzFixtureBlock;
import appeng.block.misc.QuartzGrowthAcceleratorBlock;
import appeng.block.misc.SecurityStationBlock;
import appeng.block.misc.SecurityStationRendering;
import appeng.block.misc.SkyCompassBlock;
import appeng.block.misc.SkyCompassRendering;
import appeng.block.misc.TinyTNTBlock;
import appeng.block.misc.VibrationChamberBlock;
import appeng.block.networking.CableBusBlock;
import appeng.block.networking.CableBusRendering;
import appeng.block.networking.ControllerBlock;
import appeng.block.networking.ControllerRendering;
import appeng.block.networking.CreativeEnergyCellBlock;
import appeng.block.networking.DenseEnergyCellBlock;
import appeng.block.networking.EnergyAcceptorBlock;
import appeng.block.networking.EnergyCellBlock;
import appeng.block.networking.WirelessBlock;
import appeng.block.networking.WirelessRendering;
import appeng.block.misc.*;
import appeng.block.networking.*;
import appeng.block.paint.PaintSplotchesBlock;
import appeng.block.paint.PaintSplotchesRendering;
import appeng.block.qnb.QuantumBridgeRendering;
@@ -80,75 +52,27 @@ import appeng.block.qnb.QuantumRingBlock;
import appeng.block.spatial.MatrixFrameBlock;
import appeng.block.spatial.SpatialIOPortBlock;
import appeng.block.spatial.SpatialPylonBlock;
import appeng.block.storage.ChestBlock;
import appeng.block.storage.ChestRendering;
import appeng.block.storage.DriveBlock;
import appeng.block.storage.DriveRendering;
import appeng.block.storage.IOPortBlock;
import appeng.block.storage.SkyChestBlock;
import appeng.bootstrap.BlockRenderingCustomizer;
import appeng.bootstrap.FeatureFactory;
import appeng.bootstrap.IBlockRendering;
import appeng.bootstrap.IItemRendering;
import appeng.bootstrap.TileEntityRendering;
import appeng.bootstrap.TileEntityRenderingCustomizer;
import appeng.block.storage.*;
import appeng.bootstrap.*;
import appeng.bootstrap.components.IInitComponent;
import appeng.bootstrap.definitions.TileEntityDefinition;
import appeng.client.render.crafting.CraftingCubeRendering;
import appeng.client.render.crafting.CraftingMonitorTESR;
import appeng.client.render.spatial.SpatialPylonRendering;
import appeng.client.render.tesr.ChargerTESR;
import appeng.client.render.tesr.ChestTileEntityRenderer;
import appeng.client.render.tesr.CrankTESR;
import appeng.client.render.tesr.DriveLedTileEntityRenderer;
import appeng.client.render.tesr.SkyChestTESR;
import appeng.debug.ChunkLoaderBlock;
import appeng.debug.ChunkLoaderBlockEntity;
import appeng.debug.CubeGeneratorBlock;
import appeng.debug.CubeGeneratorBlockEntity;
import appeng.debug.ItemGenBlock;
import appeng.debug.ItemGenBlockEntity;
import appeng.debug.PhantomNodeBlock;
import appeng.debug.PhantomNodeBlockEntity;
import appeng.client.render.tesr.*;
import appeng.debug.*;
import appeng.decorative.AEDecorativeBlock;
import appeng.decorative.solid.AEStairsBlock;
import appeng.decorative.solid.ChargedQuartzOreBlock;
import appeng.decorative.solid.QuartzGlassBlock;
import appeng.decorative.solid.QuartzLampBlock;
import appeng.decorative.solid.QuartzOreBlock;
import appeng.decorative.solid.QuartzPillarBlock;
import appeng.decorative.solid.SkyStoneBlock;
import appeng.decorative.solid.*;
import appeng.decorative.solid.SkyStoneBlock.SkystoneType;
import appeng.entity.TinyTNTPrimedEntity;
import appeng.fluids.block.FluidInterfaceBlock;
import appeng.fluids.tile.FluidInterfaceBlockEntity;
import appeng.hooks.TinyTNTDispenseItemBehavior;
import appeng.tile.crafting.CraftingBlockEntity;
import appeng.tile.crafting.CraftingMonitorBlockEntity;
import appeng.tile.crafting.CraftingStorageBlockEntity;
import appeng.tile.crafting.MolecularAssemblerBlockEntity;
import appeng.tile.crafting.MolecularAssemblerRenderer;
import appeng.tile.crafting.*;
import appeng.tile.grindstone.CrankBlockEntity;
import appeng.tile.grindstone.GrinderBlockEntity;
import appeng.tile.misc.CellWorkbenchBlockEntity;
import appeng.tile.misc.ChargerBlockEntity;
import appeng.tile.misc.CondenserBlockEntity;
import appeng.tile.misc.InscriberBlockEntity;
import appeng.tile.misc.InterfaceBlockEntity;
import appeng.tile.misc.LightDetectorBlockEntity;
import appeng.tile.misc.PaintSplotchesBlockEntity;
import appeng.tile.misc.QuartzGrowthAcceleratorBlockEntity;
import appeng.tile.misc.SecurityStationBlockEntity;
import appeng.tile.misc.SkyCompassBlockEntity;
import appeng.tile.misc.VibrationChamberBlockEntity;
import appeng.tile.networking.CableBusBlockEntity;
import appeng.tile.networking.CableBusTESR;
import appeng.tile.networking.ControllerBlockEntity;
import appeng.tile.networking.CreativeEnergyCellBlockEntity;
import appeng.tile.networking.DenseEnergyCellBlockEntity;
import appeng.tile.networking.EnergyAcceptorBlockEntity;
import appeng.tile.networking.EnergyCellBlockEntity;
import appeng.tile.networking.WirelessBlockEntity;
import appeng.tile.misc.*;
import appeng.tile.networking.*;
import appeng.tile.qnb.QuantumBridgeBlockEntity;
import appeng.tile.spatial.SpatialIOPortBlockEntity;
import appeng.tile.spatial.SpatialPylonBlockEntity;
@@ -42,11 +42,7 @@ import appeng.core.AppEng;
import appeng.core.features.ActivityState;
import appeng.core.features.ColoredItemDefinition;
import appeng.core.features.ItemStackSrc;
import appeng.debug.DebugCardItem;
import appeng.debug.DebugPartPlacerItem;
import appeng.debug.EraserItem;
import appeng.debug.MeteoritePlacerItem;
import appeng.debug.ReplicatorCardItem;
import appeng.debug.*;
import appeng.entity.GrowingCrystalEntity;
import appeng.fluids.items.BasicFluidStorageCell;
import appeng.fluids.items.FluidDummyItem;
@@ -66,20 +62,8 @@ import appeng.items.storage.ViewCellItem;
import appeng.items.tools.BiometricCardItem;
import appeng.items.tools.MemoryCardItem;
import appeng.items.tools.NetworkToolItem;
import appeng.items.tools.powered.ChargedStaffItem;
import appeng.items.tools.powered.ColorApplicatorItem;
import appeng.items.tools.powered.ColorApplicatorItemRendering;
import appeng.items.tools.powered.EntropyManipulatorItem;
import appeng.items.tools.powered.MatterCannonItem;
import appeng.items.tools.powered.PortableCellItem;
import appeng.items.tools.powered.WirelessTerminalItem;
import appeng.items.tools.quartz.QuartzAxeItem;
import appeng.items.tools.quartz.QuartzCuttingKnifeItem;
import appeng.items.tools.quartz.QuartzHoeItem;
import appeng.items.tools.quartz.QuartzPickaxeItem;
import appeng.items.tools.quartz.QuartzSpadeItem;
import appeng.items.tools.quartz.QuartzSwordItem;
import appeng.items.tools.quartz.QuartzWrenchItem;
import appeng.items.tools.powered.*;
import appeng.items.tools.quartz.*;
/**
* Internal implementation for the API items
@@ -236,14 +220,14 @@ public final class ApiItems implements IItems {
this.memoryCard = registry.item("memory_card", MemoryCardItem::new).props(props -> props.maxCount(1))
.features(AEFeature.MEMORY_CARD).build();
this.networkTool = registry.item("network_tool", NetworkToolItem::new).props(props -> props.maxCount(1)) // FIXME
// FABRIC
// .addToolType(FabricToolTags.get("wrench"),
// 0)
// (how???,
// just
// add
// a
// tag???)
// FABRIC
// .addToolType(FabricToolTags.get("wrench"),
// 0)
// (how???,
// just
// add
// a
// tag???)
.features(AEFeature.NETWORK_TOOL).build();
this.cellCreative = registry.item("creative_storage_cell", CreativeStorageCellItem::new)
@@ -34,51 +34,15 @@ import appeng.core.features.ColoredItemDefinition;
import appeng.core.features.ItemStackSrc;
import appeng.core.features.registries.PartModels;
import appeng.fluids.parts.*;
import appeng.fluids.parts.FluidAnnihilationPlanePart;
import appeng.fluids.parts.FluidExportBusPart;
import appeng.fluids.parts.FluidFormationPlanePart;
import appeng.fluids.parts.FluidImportBusPart;
import appeng.fluids.parts.FluidInterfacePart;
import appeng.fluids.parts.FluidLevelEmitterPart;
import appeng.fluids.parts.FluidStorageBusPart;
import appeng.fluids.parts.FluidTerminalPart;
import appeng.items.parts.ColoredPartItem;
import appeng.items.parts.PartItem;
import appeng.items.parts.PartItemRendering;
import appeng.items.parts.PartModelsHelper;
import appeng.parts.automation.*;
import appeng.parts.automation.AnnihilationPlanePart;
import appeng.parts.automation.ExportBusPart;
import appeng.parts.automation.FormationPlanePart;
import appeng.parts.automation.IdentityAnnihilationPlanePart;
import appeng.parts.automation.ImportBusPart;
import appeng.parts.automation.LevelEmitterPart;
import appeng.parts.misc.CableAnchorPart;
import appeng.parts.misc.InterfacePart;
import appeng.parts.misc.InvertedToggleBusPart;
import appeng.parts.misc.StorageBusPart;
import appeng.parts.misc.ToggleBusPart;
import appeng.parts.networking.CoveredCablePart;
import appeng.parts.networking.CoveredDenseCablePart;
import appeng.parts.networking.GlassCablePart;
import appeng.parts.networking.QuartzFiberPart;
import appeng.parts.networking.SmartCablePart;
import appeng.parts.networking.SmartDenseCablePart;
import appeng.parts.misc.*;
import appeng.parts.networking.*;
import appeng.parts.p2p.*;
import appeng.parts.p2p.FluidP2PTunnelPart;
import appeng.parts.p2p.ItemP2PTunnelPart;
import appeng.parts.p2p.LightP2PTunnelPart;
import appeng.parts.p2p.MEP2PTunnelPart;
import appeng.parts.p2p.RedstoneP2PTunnelPart;
import appeng.parts.reporting.ConversionMonitorPart;
import appeng.parts.reporting.CraftingTerminalPart;
import appeng.parts.reporting.DarkPanelPart;
import appeng.parts.reporting.InterfaceTerminalPart;
import appeng.parts.reporting.PanelPart;
import appeng.parts.reporting.PatternTerminalPart;
import appeng.parts.reporting.SemiDarkPanelPart;
import appeng.parts.reporting.StorageMonitorPart;
import appeng.parts.reporting.TerminalPart;
import appeng.parts.reporting.*;
/**
* Internal implementation for the API parts
@@ -18,12 +18,7 @@
package appeng.core.features.registries;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.IdentityHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.*;
import net.minecraft.block.Block;
import net.minecraft.block.entity.BlockEntity;
@@ -30,7 +30,6 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.Direction;
import net.minecraft.util.registry.Registry;
import alexiil.mc.lib.attributes.Attribute;
@@ -18,14 +18,7 @@
package appeng.core.features.registries;
import appeng.api.features.IChargerRegistry;
import appeng.api.features.ILocatableRegistry;
import appeng.api.features.IMatterCannonAmmoRegistry;
import appeng.api.features.IP2PTunnelRegistry;
import appeng.api.features.IPlayerRegistry;
import appeng.api.features.IRegistryContainer;
import appeng.api.features.IWirelessTermRegistry;
import appeng.api.features.IWorldGen;
import appeng.api.features.*;
import appeng.api.movable.IMovableRegistry;
import appeng.api.networking.IGridCacheRegistry;
import appeng.api.parts.IPartModels;
@@ -1,4 +1,3 @@
package appeng.core.features.registries.cell;
import net.minecraft.block.entity.BlockEntity;
@@ -153,9 +153,7 @@ public class ClickPacket extends BasePacket {
final IMemoryCard mem = (IMemoryCard) is.getItem();
mem.notifyUser(player, MemoryCardMessages.SETTINGS_CLEARED);
is.setTag(null);
}
else if (maybeColorApplicator.isSameAs(is)) {
} else if (maybeColorApplicator.isSameAs(is)) {
final ColorApplicatorItem mem = (ColorApplicatorItem) is.getItem();
mem.cycleColors(is, mem.getColor(is), 1);
}
@@ -18,11 +18,7 @@
package appeng.core.sync.packets;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.*;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
@@ -18,8 +18,6 @@
package appeng.core.sync.packets;
import java.util.Optional;
import io.netty.buffer.Unpooled;
import net.minecraft.entity.player.PlayerEntity;
@@ -32,7 +30,6 @@ import appeng.container.AEBaseContainer;
import appeng.container.ContainerLocator;
import appeng.container.ContainerOpener;
import appeng.container.implementations.CraftAmountContainer;
import appeng.core.AppEng;
import appeng.core.sync.BasePacket;
import appeng.core.sync.network.INetworkInfo;
import appeng.helpers.InventoryAction;
@@ -25,7 +25,6 @@ import net.fabricmc.api.Environment;
import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.world.World;
import appeng.api.util.AEPartLocation;
import appeng.client.render.effects.EnergyParticleData;
@@ -187,7 +187,6 @@ public class JEIRecipePacket extends BasePacket {
}
/**
*
* @param slot
* @param is itemstack
* @return is if it can be used, else EMPTY
@@ -8,7 +8,8 @@ import io.netty.buffer.Unpooled;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.entity.*;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.network.NetworkSide;
import net.minecraft.network.Packet;
@@ -42,11 +42,9 @@ public class MeteorDataNameEncoder {
/**
* @param chunkX X coordinate of the chunk. Can be any integer
* @param chunkZ Z coordinate of the chunk. Can be any integer
*
* @return encoded file name suggestion in form of <tt>dim_x_y.dat</tt> where
* <tt>x</tt> and <tt>y</tt> will be shifted to stay conform with the
* vanilla chunk system
*
* @since rv3 05.06.2015
*/
public String encode(final int chunkX, final int chunkZ) {
@@ -62,7 +62,6 @@ final class StorageData extends PersistentState implements IWorldGridStorageData
* lazy loading, can load any id, even ones that don't exist anymore.
*
* @param storageID ID of grid storage
*
* @return corresponding grid storage
*/
@Override
@@ -34,7 +34,7 @@ import appeng.services.compass.CompassThreadFactory;
/**
* Singleton access to anything related to world-based data.
*
* <p>
* Data will change depending which world is loaded. Will probably not affect
* SMP at all since only one world is loaded, but SSP more, cause they play on
* different worlds.
@@ -84,7 +84,6 @@ public final class WorldData implements IWorldData {
/**
* @return ae2 data related to a specific world
*
* @deprecated do not use singletons which are dependent on specific world state
*/
@Deprecated
@@ -106,7 +105,7 @@ public final class WorldData implements IWorldData {
/**
* Requires to start up from external from here
*
* <p>
* drawback of the singleton build style
*/
public static void onServerStarting(MinecraftServer server) {
@@ -269,7 +269,6 @@ public class CraftingJob implements Runnable, ICraftingJob {
* returns true if this needs more simulation.
*
* @param milli milliseconds of simulation
*
* @return true if this needs more simulation
*/
public boolean simulateFor(final int milli) {
+1 -1
View File
@@ -124,7 +124,7 @@ public class EraserItem extends AEBaseItem implements AEToolItem {
/**
* Filling needs to be deferred as the tags might not be populated at
* construction time.
*
*
* @return
*/
private Set<Block> getCommonBlocks() {
@@ -37,7 +37,6 @@ import alexiil.mc.lib.attributes.item.ItemExtractable;
import alexiil.mc.lib.attributes.item.filter.ExactItemStackFilter;
import alexiil.mc.lib.attributes.item.filter.ItemFilter;
import appeng.debug.ItemGenBlockEntity.QueuedItemHandler;
import appeng.tile.AEBaseBlockEntity;
public class ItemGenBlockEntity extends AEBaseBlockEntity {
@@ -27,8 +27,6 @@ import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemUsageContext;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.text.LiteralText;
import net.minecraft.util.*;
import net.minecraft.util.math.BlockPos;
@@ -37,7 +35,6 @@ import net.minecraft.util.math.MathHelper;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import net.minecraft.world.dimension.DimensionType;
import appeng.api.networking.IGrid;
import appeng.api.networking.IGridHost;

Some files were not shown because too many files have changed in this diff Show More