All GUI compile errors fixed, switched to excludes over includes in gradle build and lots, LOTS of more fixes.

This commit is contained in:
Sebastian Hartte
2020-06-06 21:16:05 +02:00
parent bb453b0d35
commit ff042a394b
209 changed files with 4527 additions and 4479 deletions
+51 -40
View File
@@ -20,25 +20,27 @@ package appeng.core;
import java.io.File;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.function.Supplier;
import appeng.block.paint.PaintSplotchesModel;
import appeng.block.qnb.QnbFormedModel;
import appeng.bootstrap.components.IClientSetupComponent;
import appeng.bootstrap.components.IInitComponent;
import appeng.client.ClientHelper;
import appeng.client.render.model.AutoRotatingModel;
import appeng.client.render.model.AutoRotatingModelLoader;
import appeng.client.render.model.GlassModelLoader;
import appeng.client.render.model.SkyCompassModelLoader;
import appeng.client.render.DummyFluidItemModel;
import appeng.client.render.SimpleModelLoader;
import appeng.client.render.crafting.CraftingCubeModelLoader;
import appeng.client.render.model.*;
import appeng.client.render.spatial.SpatialPylonModel;
import appeng.core.stats.AdvancementTriggers;
import appeng.core.worlddata.WorldData;
import appeng.hooks.TickHandler;
import appeng.parts.PartPlacement;
import appeng.server.AECommand;
import appeng.server.ServerHelper;
import com.google.gson.Gson;
import appeng.services.VersionChecker;
import appeng.services.version.VersionCheckerConfig;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.model.BlockModelDefinition;
import net.minecraft.client.renderer.model.ModelBakery;
import net.minecraft.entity.EntityType;
import net.minecraft.inventory.container.ContainerType;
import net.minecraft.item.Item;
@@ -49,6 +51,7 @@ import net.minecraft.util.ResourceLocation;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.client.model.ModelLoaderRegistry;
import net.minecraftforge.client.model.geometry.IModelGeometry;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.fml.CrashReportExtender;
@@ -56,15 +59,13 @@ import net.minecraftforge.fml.DistExecutor;
import net.minecraftforge.fml.ModLoadingContext;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.ObfuscationReflectionHelper;
import net.minecraftforge.fml.config.ModConfig;
import appeng.core.crash.ModCrashEnhancement;
import appeng.services.export.ExportConfig;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.event.server.FMLServerAboutToStartEvent;
import net.minecraftforge.fml.event.server.FMLServerStartedEvent;
import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
import net.minecraftforge.fml.event.server.FMLServerStoppedEvent;
import net.minecraftforge.fml.event.server.FMLServerStoppingEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
@@ -91,12 +92,12 @@ public final class AppEng
//FIXME private final Registration registration;
private File configDirectory;
private VersionCheckerConfig versionCheckerConfig = VersionCheckerConfig.create();
/**
* determined in pre-init but used in init
*/
private ExportConfig exportConfig;
// FIXME private ExportConfig exportConfig;
public AppEng()
{
@@ -128,6 +129,7 @@ public final class AppEng
modEventBus.addGenericListener(IRecipeSerializer.class, registration::registerRecipeSerializers);
modEventBus.addListener(registration::registerParticleFactories);
modEventBus.addListener(registration::registerTextures);
modEventBus.addListener(registration::registerCommands);
modEventBus.addListener(this::commonSetup);
@@ -150,17 +152,40 @@ public final class AppEng
definitions.getRegistry().getBootstrapComponents( IInitComponent.class ).forEachRemaining(IInitComponent::initialize);
Registration.setupInternalRegistries();
if( versionCheckerConfig.isVersionCheckingEnabled() )
{
final VersionChecker versionChecker = new VersionChecker( versionCheckerConfig );
final Thread versionCheckerThread = new Thread( versionChecker );
this.startService( "AE2 VersionChecker", versionCheckerThread );
}
}
@OnlyIn(Dist.CLIENT)
private void clientSetup(FMLClientSetupEvent event) {
final ApiDefinitions definitions = Api.INSTANCE.definitions();
definitions.getRegistry().getBootstrapComponents( IClientSetupComponent.class ).forEachRemaining(IClientSetupComponent::setup);
ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "glass"), GlassModelLoader.INSTANCE);
ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "sky_compass"), SkyCompassModelLoader.INSTANCE);
addBuiltInModel("glass", GlassModel::new);
addBuiltInModel("sky_compass", SkyCompassModel::new);
addBuiltInModel("dummy_fluid_item", DummyFluidItemModel::new);
addBuiltInModel("memory_card", MemoryCardModel::new);
addBuiltInModel("biometric_card", BiometricCardModel::new);
addBuiltInModel("drive", DriveModel::new);
addBuiltInModel("color_applicator", ColorApplicatorModel::new);
addBuiltInModel("spatial_pylon", SpatialPylonModel::new);
addBuiltInModel("paint_splotches", PaintSplotchesModel::new);
addBuiltInModel("quantum_bridge_formed", QnbFormedModel::new);
ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "crafting_cube"), CraftingCubeModelLoader.INSTANCE);
ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, "auto_rotating"), AutoRotatingModelLoader.INSTANCE);
}
private static <T extends IModelGeometry<T>> void addBuiltInModel(String id, Supplier<T> modelFactory) {
ModelLoaderRegistry.registerLoader(new ResourceLocation(AppEng.MOD_ID, id), new SimpleModelLoader<T>(modelFactory));
}
@Nonnull
public static AppEng instance()
{
@@ -205,7 +230,6 @@ public final class AppEng
// AEConfig.init( configFile );
// FacadeConfig.init( facadeFile );
//
// final VersionCheckerConfig versionCheckerConfig = new VersionCheckerConfig( versionFile );
// this.exportConfig = new ForgeExportConfig( recipeConfiguration );
//
// AELog.info( "Pre Initialization ( started )" );
@@ -225,14 +249,6 @@ public final class AppEng
//
// IntegrationRegistry.INSTANCE.preInit();
//
// if( versionCheckerConfig.isVersionCheckingEnabled() )
// {
// final VersionChecker versionChecker = new VersionChecker( versionCheckerConfig );
// final Thread versionCheckerThread = new Thread( versionChecker );
//
// this.startService( "AE2 VersionChecker", versionCheckerThread );
// }
//
// AELog.info( "Pre Initialization ( ended after " + watch.elapsed( TimeUnit.MILLISECONDS ) + "ms )" );
//
// // Instantiate all Plugins
@@ -240,16 +256,16 @@ public final class AppEng
// Api.INSTANCE );
// new PluginLoader().loadPlugins( injectables, event.getAsmData() );
// }
//
// private void startService( final String serviceName, final Thread thread )
// {
// thread.setName( serviceName );
// thread.setPriority( Thread.MIN_PRIORITY );
//
// AELog.info( "Starting " + serviceName );
// thread.start();
// }
//
private void startService( final String serviceName, final Thread thread )
{
thread.setName( serviceName );
thread.setPriority( Thread.MIN_PRIORITY );
AELog.info( "Starting " + serviceName );
thread.start();
}
// @EventHandler
// private void init( final FMLCommonSetupEvent event )
// {
@@ -322,9 +338,4 @@ public final class AppEng
TickHandler.INSTANCE.shutdown();
}
// @EventHandler
// private void serverStarting( final FMLServerStartingEvent evt )
// {
// evt.registerServerCommand( new AECommand( evt.getServer() ) );
// }
}
+265 -18
View File
@@ -32,36 +32,35 @@ import appeng.bootstrap.IModelRegistry;
import appeng.bootstrap.components.*;
import appeng.client.gui.implementations.GuiGrinder;
import appeng.client.gui.implementations.GuiSkyChest;
import appeng.client.render.effects.ChargedOreFX;
import appeng.client.render.effects.LightningFX;
import appeng.client.render.effects.VibrantFX;
import appeng.client.render.model.GlassModelLoader;
import appeng.client.render.model.SkyCompassBakedModel;
import appeng.client.render.effects.*;
import appeng.client.render.model.SkyCompassModel;
import appeng.client.render.tesr.SkyChestTESR;
import appeng.container.implementations.ContainerGrinder;
import appeng.container.implementations.ContainerSkyChest;
import appeng.container.AEBaseContainer;
import appeng.container.ContainerOpener;
import appeng.container.implementations.*;
import appeng.core.features.registries.cell.BasicCellHandler;
import appeng.core.features.registries.cell.BasicItemCellGuiHandler;
import appeng.core.features.registries.cell.CreativeCellHandler;
import appeng.core.stats.AeStats;
import appeng.core.stats.PartItemPredicate;
import appeng.fluids.container.*;
import appeng.fluids.registries.BasicFluidCellGuiHandler;
import appeng.me.cache.*;
import appeng.recipes.conditions.FeaturesEnabled;
import appeng.recipes.game.DisassembleRecipe;
import appeng.recipes.ingredients.PartIngredientSerializer;
import appeng.server.AECommand;
import net.minecraft.block.Block;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.ScreenManager;
import net.minecraft.client.renderer.ItemModelMesher;
import net.minecraft.client.renderer.model.ModelResourceLocation;
import net.minecraft.entity.EntityType;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.ContainerType;
import net.minecraft.item.Item;
import net.minecraft.item.crafting.IRecipeSerializer;
import net.minecraft.particles.ParticleType;
import net.minecraft.stats.Stats;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.api.distmarker.Dist;
@@ -70,17 +69,14 @@ import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.client.event.ParticleFactoryRegisterEvent;
import net.minecraftforge.client.event.TextureStitchEvent;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.client.model.ModelLoaderRegistry;
import net.minecraftforge.common.crafting.CraftingHelper;
import net.minecraftforge.common.extensions.IForgeContainerType;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.eventbus.api.GenericEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.DistExecutor;
import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
import net.minecraftforge.fml.loading.FMLEnvironment;
import net.minecraftforge.registries.ForgeRegistryEntry;
import net.minecraftforge.fml.network.IContainerFactory;
import net.minecraftforge.registries.IForgeRegistry;
import net.minecraftforge.registries.ObjectHolder;
final class Registration
@@ -258,11 +254,241 @@ final class Registration
public void registerContainerTypes( RegistryEvent.Register<ContainerType<?>> event ) {
final IForgeRegistry<ContainerType<?>> registry = event.getRegistry();
ContainerSkyChest.TYPE = IForgeContainerType.create(ContainerSkyChest::fromNetwork);
registry.register(ContainerSkyChest.TYPE.setRegistryName(AppEng.MOD_ID, "sky_chest"));
ContainerCellWorkbench.TYPE = registerContainer(
registry,
"cellworkbench",
ContainerCellWorkbench::fromNetwork,
ContainerCellWorkbench::open
);
ContainerChest.TYPE = registerContainer(
registry,
"chest",
ContainerChest::fromNetwork,
ContainerChest::open
);
ContainerCondenser.TYPE = registerContainer(
registry,
"condenser",
ContainerCondenser::fromNetwork,
ContainerCondenser::open
);
ContainerCraftAmount.TYPE = registerContainer(
registry,
"craftamount",
ContainerCraftAmount::fromNetwork,
ContainerCraftAmount::open
);
ContainerCraftConfirm.TYPE = registerContainer(
registry,
"craftconfirm",
ContainerCraftConfirm::fromNetwork,
ContainerCraftConfirm::open
);
ContainerCraftingCPU.TYPE = registerContainer(
registry,
"craftingcpu",
ContainerCraftingCPU::fromNetwork,
ContainerCraftingCPU::open
);
ContainerCraftingStatus.TYPE = registerContainer(
registry,
"craftingstatus",
ContainerCraftingStatus::fromNetwork,
ContainerCraftingStatus::open
);
ContainerCraftingTerm.TYPE = registerContainer(
registry,
"craftingterm",
ContainerCraftingTerm::fromNetwork,
ContainerCraftingTerm::open
);
ContainerDrive.TYPE = registerContainer(
registry,
"drive",
ContainerDrive::fromNetwork,
ContainerDrive::open
);
ContainerFormationPlane.TYPE = registerContainer(
registry,
"formationplane",
ContainerFormationPlane::fromNetwork,
ContainerFormationPlane::open
);
ContainerGrinder.TYPE = registerContainer(
registry,
"grinder",
ContainerGrinder::fromNetwork,
ContainerGrinder::open
);
ContainerInscriber.TYPE = registerContainer(
registry,
"inscriber",
ContainerInscriber::fromNetwork,
ContainerInscriber::open
);
ContainerInterface.TYPE = registerContainer(
registry,
"interface",
ContainerInterface::fromNetwork,
ContainerInterface::open
);
ContainerInterfaceTerminal.TYPE = registerContainer(
registry,
"interfaceterminal",
ContainerInterfaceTerminal::fromNetwork,
ContainerInterfaceTerminal::open
);
ContainerIOPort.TYPE = registerContainer(
registry,
"ioport",
ContainerIOPort::fromNetwork,
ContainerIOPort::open
);
ContainerLevelEmitter.TYPE = registerContainer(
registry,
"levelemitter",
ContainerLevelEmitter::fromNetwork,
ContainerLevelEmitter::open
);
ContainerMAC.TYPE = registerContainer(
registry,
"mac",
ContainerMAC::fromNetwork,
ContainerMAC::open
);
ContainerMEMonitorable.TYPE = registerContainer(
registry,
"memonitorable",
ContainerMEMonitorable::fromNetwork,
ContainerMEMonitorable::open
);
ContainerMEPortableCell.TYPE = registerContainer(
registry,
"meportablecell",
ContainerMEPortableCell::fromNetwork,
ContainerMEPortableCell::open
);
ContainerNetworkStatus.TYPE = registerContainer(
registry,
"networkstatus",
ContainerNetworkStatus::fromNetwork,
ContainerNetworkStatus::open
);
ContainerNetworkTool.TYPE = registerContainer(
registry,
"networktool",
ContainerNetworkTool::fromNetwork,
ContainerNetworkTool::open
);
ContainerPatternTerm.TYPE = registerContainer(
registry,
"patternterm",
ContainerPatternTerm::fromNetwork,
ContainerPatternTerm::open
);
ContainerPriority.TYPE = registerContainer(
registry,
"priority",
ContainerPriority::fromNetwork,
ContainerPriority::open
);
ContainerQNB.TYPE = registerContainer(
registry,
"qnb",
ContainerQNB::fromNetwork,
ContainerQNB::open
);
ContainerQuartzKnife.TYPE = registerContainer(
registry,
"quartzknife",
ContainerQuartzKnife::fromNetwork,
ContainerQuartzKnife::open
);
ContainerSecurityStation.TYPE = registerContainer(
registry,
"securitystation",
ContainerSecurityStation::fromNetwork,
ContainerSecurityStation::open
);
ContainerSkyChest.TYPE = registerContainer(
registry,
"skychest",
ContainerSkyChest::fromNetwork,
ContainerSkyChest::open
);
ContainerSpatialIOPort.TYPE = registerContainer(
registry,
"spatialioport",
ContainerSpatialIOPort::fromNetwork,
ContainerSpatialIOPort::open
);
ContainerStorageBus.TYPE = registerContainer(
registry,
"storagebus",
ContainerStorageBus::fromNetwork,
ContainerStorageBus::open
);
ContainerUpgradeable.TYPE = registerContainer(
registry,
"upgradeable",
ContainerUpgradeable::fromNetwork,
ContainerUpgradeable::open
);
ContainerVibrationChamber.TYPE = registerContainer(
registry,
"vibrationchamber",
ContainerVibrationChamber::fromNetwork,
ContainerVibrationChamber::open
);
ContainerWireless.TYPE = registerContainer(
registry,
"wireless",
ContainerWireless::fromNetwork,
ContainerWireless::open
);
ContainerWirelessTerm.TYPE = registerContainer(
registry,
"wirelessterm",
ContainerWirelessTerm::fromNetwork,
ContainerWirelessTerm::open
);
ContainerGrinder.TYPE = IForgeContainerType.create(ContainerGrinder::fromNetwork);
registry.register(ContainerGrinder.TYPE.setRegistryName(AppEng.MOD_ID, "grinder"));
ContainerFluidFormationPlane.TYPE = registerContainer(
registry,
"fluid_formation_plane",
ContainerFluidFormationPlane::fromNetwork,
ContainerFluidFormationPlane::open
);
ContainerFluidIO.TYPE = registerContainer(
registry,
"fluid_io",
ContainerFluidIO::fromNetwork,
ContainerFluidIO::open
);
ContainerFluidInterface.TYPE = registerContainer(
registry,
"fluid_interface",
ContainerFluidInterface::fromNetwork,
ContainerFluidInterface::open
);
ContainerFluidLevelEmitter.TYPE = registerContainer(
registry,
"fluid_level_emitter",
ContainerFluidLevelEmitter::fromNetwork,
ContainerFluidLevelEmitter::open
);
ContainerFluidStorageBus.TYPE = registerContainer(
registry,
"fluid_storage_bus",
ContainerFluidStorageBus::fromNetwork,
ContainerFluidStorageBus::open
);
ContainerFluidTerminal.TYPE = registerContainer(
registry,
"fluid_terminal",
ContainerFluidTerminal::fromNetwork,
ContainerFluidTerminal::open
);
DistExecutor.runWhenOn(Dist.CLIENT, () -> () -> {
ScreenManager.registerFactory(ContainerSkyChest.TYPE, GuiSkyChest::new);
@@ -270,6 +496,17 @@ final class Registration
});
}
private <T extends AEBaseContainer> ContainerType<T> registerContainer(IForgeRegistry<ContainerType<?>> registry,
String id,
IContainerFactory<T> factory,
ContainerOpener.Opener<T> opener) {
ContainerType<T> type = IForgeContainerType.create(factory);
type.setRegistryName(AppEng.MOD_ID, id);
registry.register(type);
ContainerOpener.addOpener(type, opener);
return type;
}
public void registerRecipeSerializers( RegistryEvent.Register<IRecipeSerializer<?>> event )
{
IForgeRegistry<IRecipeSerializer<?>> r = event.getRegistry();
@@ -306,9 +543,14 @@ final class Registration
}
public void registerParticleFactories(ParticleFactoryRegisterEvent event) {
Minecraft.getInstance().particles.registerFactory(AssemblerFX.TYPE, AssemblerFX.Factory::new);
Minecraft.getInstance().particles.registerFactory(ChargedOreFX.TYPE, ChargedOreFX.Factory::new);
Minecraft.getInstance().particles.registerFactory(VibrantFX.TYPE, VibrantFX.Factory::new);
Minecraft.getInstance().particles.registerFactory(CraftingFx.TYPE, CraftingFx.Factory::new);
Minecraft.getInstance().particles.registerFactory(EnergyFx.TYPE, EnergyFx.Factory::new);
Minecraft.getInstance().particles.registerFactory(LightningArcFX.TYPE, LightningArcFX.Factory::new);
Minecraft.getInstance().particles.registerFactory(LightningFX.TYPE, LightningFX.Factory::new);
Minecraft.getInstance().particles.registerFactory(MatterCannonFX.TYPE, MatterCannonFX.Factory::new);
Minecraft.getInstance().particles.registerFactory(VibrantFX.TYPE, VibrantFX.Factory::new);
}
//
@@ -563,4 +805,9 @@ final class Registration
SkyChestTESR.registerTextures(event);
}
public void registerCommands( final FMLServerStartingEvent evt )
{
new AECommand().register(evt.getCommandDispatcher());
}
}
@@ -24,9 +24,8 @@ import appeng.api.definitions.IItems;
import appeng.api.util.AEColoredItemDefinition;
import appeng.bootstrap.FeatureFactory;
import appeng.api.features.AEFeature;
import appeng.bootstrap.components.IEntityRegistrationComponent;
import appeng.client.render.crafting.EncodedPatternRenderer;
import appeng.client.render.crafting.ItemEncodedPatternRendering;
import appeng.core.Api;
import appeng.core.CreativeTabFacade;
import appeng.debug.ToolDebugCard;
import appeng.debug.ToolEraser;
@@ -50,11 +49,9 @@ import appeng.items.tools.*;
import appeng.items.tools.powered.*;
import appeng.items.tools.quartz.*;
import net.minecraft.entity.EntityClassification;
import net.minecraft.entity.EntityType;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraftforge.common.ToolType;
import org.lwjgl.system.APIUtil;
import java.util.function.Consumer;
@@ -293,7 +290,8 @@ public final class ApiItems implements IItems
// rv1
this.encodedPattern = registry.item( "encoded_pattern", ItemEncodedPattern::new )
.props(props -> props.maxStackSize(1))
.props(props -> props.maxStackSize(1)
.setISTER(() -> EncodedPatternRenderer::new))
.features( AEFeature.PATTERNS )
.rendering( new ItemEncodedPatternRendering() )
.build();
@@ -22,8 +22,13 @@ package appeng.core.features.registries;
import java.util.ArrayList;
import java.util.List;
import appeng.container.ContainerLocator;
import appeng.container.ContainerOpener;
import appeng.container.implementations.ContainerMEPortableCell;
import appeng.container.implementations.ContainerWirelessTerm;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Hand;
import net.minecraft.world.IBlockReader;
import appeng.api.AEApi;
@@ -81,7 +86,7 @@ public final class WirelessRegistry implements IWirelessTermRegistry
}
@Override
public void openWirelessTerminalGui( ItemStack item, IBlockReader world, PlayerEntity player )
public void openWirelessTerminalGui( ItemStack item, IBlockReader world, PlayerEntity player, Hand hand )
{
if( Platform.isClient() )
{
@@ -112,7 +117,7 @@ public final class WirelessRegistry implements IWirelessTermRegistry
if( handler.hasPower( player, 0.5, item ) )
{
// FIXME Platform.openGUI( player, null, null, GuiBridge.GUI_WIRELESS_TERM );
ContainerOpener.openContainer(ContainerWirelessTerm.TYPE, player, ContainerLocator.forHand(hand));
}
else
{
@@ -2,6 +2,9 @@
package appeng.core.features.registries.cell;
import appeng.container.ContainerLocator;
import appeng.container.ContainerOpener;
import appeng.container.implementations.ContainerWireless;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
@@ -31,6 +34,6 @@ public class BasicItemCellGuiHandler implements ICellGuiHandler
@Override
public void openChestGui( final PlayerEntity player, final IChestOrDrive chest, final ICellHandler cellHandler, final IMEInventoryHandler inv, final ItemStack is, final IStorageChannel chan )
{
// FIXME Platform.openGUI( player, (TileEntity) chest, AEPartLocation.fromFacing( chest.getUp() ), GuiBridge.GUI_ME );
ContainerOpener.openContainer(ContainerWireless.TYPE, player, ContainerLocator.forTileEntitySide((TileEntity) chest, chest.getUp()));
}
}
+10 -14
View File
@@ -28,7 +28,6 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import appeng.api.AEApi;
import appeng.api.config.SecurityPermissions;
import appeng.api.exceptions.AppEngException;
import appeng.api.features.IWirelessTermHandler;
@@ -47,10 +46,9 @@ import appeng.api.storage.ITerminalHost;
import appeng.api.util.AEPartLocation;
import appeng.api.util.DimensionalCoord;
import appeng.client.gui.AEBaseGui;
import appeng.client.gui.GuiNull;
import appeng.container.AEBaseContainer;
import appeng.container.ContainerNull;
import appeng.container.ContainerOpenContext;
import appeng.container.ContainerLocator;
import appeng.container.implementations.ContainerCellWorkbench;
import appeng.container.implementations.ContainerChest;
import appeng.container.implementations.ContainerCondenser;
@@ -245,7 +243,7 @@ public enum GuiBridge
{
throw new IllegalStateException( "Unable to find gui class" );
}
this.guiClass = ReflectionHelper.getClass( this.getClass().getClassLoader(), guiClass );
this.guiClass = null; // FIXME ReflectionHelper.getClass( this.getClass().getClassLoader(), guiClass );
if( this.guiClass == null )
{
throw new IllegalStateException( "Cannot Load class: " + guiClass );
@@ -262,7 +260,6 @@ public enum GuiBridge
this.getGui();
}
@Override
public Object getServerGuiElement( final int ordinal, final PlayerEntity player, final World w, final int x, final int y, final int z )
{
final AEPartLocation side = AEPartLocation.fromOrdinal( ordinal & 0x07 );
@@ -341,13 +338,13 @@ public enum GuiBridge
{
if( newContainer instanceof AEBaseContainer )
{
final AEBaseContainer bc = (AEBaseContainer) newContainer;
bc.setOpenContext( new ContainerOpenContext( myItem ) );
bc.getOpenContext().setWorld( w );
bc.getOpenContext().setX( x );
bc.getOpenContext().setY( y );
bc.getOpenContext().setZ( z );
bc.getOpenContext().setSide( side );
// FIXME final AEBaseContainer bc = (AEBaseContainer) newContainer;
// FIXME bc.setLocator( new ContainerLocator( myItem ) );
// FIXME bc.getLocator().setWorld( w );
// FIXME bc.getLocator().setX( x );
// FIXME bc.getLocator().setY( y );
// FIXME bc.getLocator().setZ( z );
// FIXME bc.getLocator().setSide( side );
}
return newContainer;
@@ -405,7 +402,6 @@ public enum GuiBridge
return inventory.getClass().getName();
}
@Override
public Object getClientGuiElement( final int ordinal, final PlayerEntity player, final World w, final int x, final int y, final int z )
{
final AEPartLocation side = AEPartLocation.fromOrdinal( ordinal & 0x07 );
@@ -448,7 +444,7 @@ public enum GuiBridge
}
}
}
return new GuiNull( new ContainerNull() );
return null; // FIXME
}
public Object ConstructGui( final PlayerInventory inventory, final AEPartLocation side, final Object tE )
@@ -20,6 +20,8 @@ package appeng.core.sync.packets;
import appeng.block.networking.BlockCableBus;
import appeng.items.tools.ToolNetworkTool;
import appeng.items.tools.powered.ToolColorApplicator;
import io.netty.buffer.Unpooled;
import net.minecraft.block.Block;
@@ -126,25 +128,25 @@ public class PacketClick extends AppEngPacket
{
if( !is.isEmpty() )
{
// FIXME if( is.getItem() instanceof ToolNetworkTool )
// FIXME {
// FIXME final ToolNetworkTool tnt = (ToolNetworkTool) is.getItem();
// FIXME tnt.serverSideToolLogic( is, player, this.hand, player.world, pos, this.side, this.hitX, this.hitY,
// FIXME this.hitZ );
// FIXME }
if( is.getItem() instanceof ToolNetworkTool)
{
final ToolNetworkTool tnt = (ToolNetworkTool) is.getItem();
tnt.serverSideToolLogic( is, player, this.hand, player.world, pos, this.side, this.hitX, this.hitY,
this.hitZ );
}
/* FIXME else */ if( maybeMemoryCard.isSameAs( is ) )
if( maybeMemoryCard.isSameAs( is ) )
{
final IMemoryCard mem = (IMemoryCard) is.getItem();
mem.notifyUser( player, MemoryCardMessages.SETTINGS_CLEARED );
is.setTag( null );
}
// FIXME else if( maybeColorApplicator.isSameAs( is ) )
// FIXME {
// FIXME final ToolColorApplicator mem = (ToolColorApplicator) is.getItem();
// FIXME mem.cycleColors( is, mem.getColor( is ), 1 );
// FIXME }
else if( maybeColorApplicator.isSameAs( is ) )
{
final ToolColorApplicator mem = (ToolColorApplicator) is.getItem();
mem.cycleColors( is, mem.getColor( is ), 1 );
}
}
}
}
@@ -21,6 +21,8 @@ package appeng.core.sync.packets;
import java.util.concurrent.Future;
import appeng.container.ContainerOpener;
import appeng.container.implementations.ContainerInscriber;
import io.netty.buffer.Unpooled;
import net.minecraft.entity.player.PlayerEntity;
@@ -32,7 +34,7 @@ import appeng.api.networking.IGridNode;
import appeng.api.networking.crafting.ICraftingGrid;
import appeng.api.networking.crafting.ICraftingJob;
import appeng.api.networking.security.IActionHost;
import appeng.container.ContainerOpenContext;
import appeng.container.ContainerLocator;
import appeng.container.implementations.ContainerCraftAmount;
import appeng.container.implementations.ContainerCraftConfirm;
import appeng.core.AELog;
@@ -96,11 +98,10 @@ public class PacketCraftRequest extends AppEngPacket
final ICraftingGrid cg = g.getCache( ICraftingGrid.class );
futureJob = cg.beginCraftingJob( cca.getWorld(), cca.getGrid(), cca.getActionSrc(), cca.getItemToCraft(), null );
final ContainerOpenContext context = cca.getOpenContext();
if( context != null )
final ContainerLocator locator = cca.getLocator();
if( locator != null )
{
final TileEntity te = context.getTile();
// FIXME Platform.openGUI( player, te, cca.getOpenContext().getSide(), GuiBridge.GUI_CRAFTING_CONFIRM );
ContainerOpener.openContainer(ContainerCraftConfirm.TYPE, player, locator);
if( player.openContainer instanceof ContainerCraftConfirm )
{
@@ -21,6 +21,8 @@ package appeng.core.sync.packets;
import java.io.IOException;
import appeng.container.ContainerOpener;
import appeng.container.implementations.ContainerInscriber;
import io.netty.buffer.Unpooled;
import net.minecraft.entity.player.PlayerEntity;
@@ -31,7 +33,7 @@ import net.minecraft.tileentity.TileEntity;
import appeng.api.storage.data.IAEItemStack;
import appeng.container.AEBaseContainer;
import appeng.container.ContainerOpenContext;
import appeng.container.ContainerLocator;
import appeng.container.implementations.ContainerCraftAmount;
import appeng.core.AppEng;
import appeng.core.sync.AppEngPacket;
@@ -127,11 +129,10 @@ public class PacketInventoryAction extends AppEngPacket
final AEBaseContainer baseContainer = (AEBaseContainer) sender.openContainer;
if( this.action == InventoryAction.AUTO_CRAFT )
{
final ContainerOpenContext context = baseContainer.getOpenContext();
if( context != null )
final ContainerLocator locator = baseContainer.getLocator();
if( locator != null )
{
final TileEntity te = context.getTile();
// FIXME Platform.openGUI( sender, te, baseContainer.getOpenContext().getSide(), GuiBridge.GUI_CRAFTING_AMOUNT );
ContainerOpener.openContainer(ContainerCraftAmount.TYPE, player, locator);
if( sender.openContainer instanceof ContainerCraftAmount )
{
@@ -19,40 +19,43 @@
package appeng.core.sync.packets;
import appeng.container.ContainerOpener;
import io.netty.buffer.Unpooled;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.ContainerType;
import net.minecraft.network.PacketBuffer;
import net.minecraft.tileentity.TileEntity;
import appeng.container.AEBaseContainer;
import appeng.container.ContainerOpenContext;
import appeng.container.ContainerLocator;
import appeng.core.sync.AppEngPacket;
import appeng.core.sync.network.INetworkInfo;
import appeng.util.Platform;
import net.minecraftforge.registries.ForgeRegistries;
public class PacketSwitchGuis extends AppEngPacket
{
private final GuiBridge newGui;
private final ContainerType<?> newGui;
public PacketSwitchGuis( final PacketBuffer stream )
{
this.newGui = GuiBridge.values()[stream.readInt()];
this.newGui = ForgeRegistries.CONTAINERS.getValue(stream.readResourceLocation());
}
// api
public PacketSwitchGuis( final GuiBridge newGui )
public PacketSwitchGuis( final ContainerType<?> newGui )
{
this.newGui = newGui;
final PacketBuffer data = new PacketBuffer( Unpooled.buffer() );
data.writeInt( this.getPacketID() );
data.writeInt( newGui.ordinal() );
data.writeResourceLocation(newGui.getRegistryName());
this.configureWrite( data );
}
@@ -64,11 +67,10 @@ public class PacketSwitchGuis extends AppEngPacket
if( c instanceof AEBaseContainer )
{
final AEBaseContainer bc = (AEBaseContainer) c;
final ContainerOpenContext context = bc.getOpenContext();
if( context != null )
final ContainerLocator locator = bc.getLocator();
if( locator != null )
{
final TileEntity te = context.getTile();
Platform.openGUI( player, te, context.getSide(), this.newGui );
ContainerOpener.openContainer(newGui, player, locator);
}
}
}
@@ -25,6 +25,7 @@ import net.minecraft.block.BlockState;
import net.minecraft.block.SoundType;
import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.SimpleSound;
import net.minecraft.client.particle.Particle;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
@@ -92,21 +93,19 @@ public class PacketTransitionEffect extends AppEngPacket
{
if( AppEng.proxy.shouldAddParticles( Platform.getRandom() ) )
{
final EnergyFx fx = new EnergyFx( world, this.x + ( this.mode ? ( Platform
.getRandomInt() % 100 ) * 0.01 : ( Platform.getRandomInt() % 100 ) * 0.005 - 0.25 ), this.y + ( this.mode ? ( Platform
.getRandomInt() % 100 ) * 0.01 : ( Platform.getRandomInt() % 100 ) * 0.005 - 0.25 ), this.z + ( this.mode ? ( Platform
.getRandomInt() % 100 ) * 0.01 : ( Platform.getRandomInt() % 100 ) * 0.005 - 0.25 ), new ItemStack(Items.DIAMOND, 1) );
double x = this.x + ( this.mode ? ( Platform.getRandomInt() % 100 ) * 0.01 : ( Platform.getRandomInt() % 100 ) * 0.005 - 0.25 );
double y = this.y + ( this.mode ? ( Platform.getRandomInt() % 100 ) * 0.01 : ( Platform.getRandomInt() % 100 ) * 0.005 - 0.25 );
double z = this.z + ( this.mode ? ( Platform.getRandomInt() % 100 ) * 0.01 : ( Platform.getRandomInt() % 100 ) * 0.005 - 0.25 );
double speedX = -0.1f * this.d.xOffset;
double speedY = -0.1f * this.d.yOffset;
double speedZ = -0.1f * this.d.zOffset;
EnergyFx fx = (EnergyFx) Minecraft.getInstance().particles.addParticle(EnergyFx.TYPE, x, y, z, speedX, speedY, speedZ);
// FIXME: *sigh* custom particle data for this one thing :|
if( !this.mode )
{
fx.fromItem( this.d );
fx.fromItem( this.d );
}
fx.setMotionX( -0.1f * this.d.xOffset );
fx.setMotionY( -0.1f * this.d.yOffset );
fx.setMotionZ( -0.1f * this.d.zOffset );
Minecraft.getInstance().particles.addEffect( fx );
}
}
@@ -19,12 +19,36 @@
package appeng.core.sync.packets;
import appeng.api.config.FuzzyMode;
import appeng.api.config.Settings;
import appeng.api.util.IConfigManager;
import appeng.api.util.IConfigurableObject;
import appeng.client.gui.implementations.GuiCraftingCPU;
import appeng.container.AEBaseContainer;
import appeng.container.implementations.ContainerCellWorkbench;
import appeng.container.implementations.ContainerCraftConfirm;
import appeng.container.implementations.ContainerCraftingCPU;
import appeng.container.implementations.ContainerCraftingStatus;
import appeng.container.implementations.ContainerLevelEmitter;
import appeng.container.implementations.ContainerNetworkTool;
import appeng.container.implementations.ContainerPatternTerm;
import appeng.container.implementations.ContainerPriority;
import appeng.container.implementations.ContainerQuartzKnife;
import appeng.container.implementations.ContainerSecurityStation;
import appeng.container.implementations.ContainerStorageBus;
import appeng.core.sync.AppEngPacket;
import appeng.core.sync.network.INetworkInfo;
import appeng.fluids.container.ContainerFluidLevelEmitter;
import appeng.fluids.container.ContainerFluidStorageBus;
import appeng.helpers.IMouseWheelItem;
import io.netty.buffer.Unpooled;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.container.Container;
import net.minecraft.item.ItemStack;
import net.minecraft.network.PacketBuffer;
import net.minecraft.util.Hand;
import java.io.IOException;
@@ -43,7 +67,7 @@ public class PacketValueConfig extends AppEngPacket
}
// api
public PacketValueConfig( final String name, final String value ) throws IOException
public PacketValueConfig( final String name, final String value )
{
this.Name = name;
this.Value = value;
@@ -63,172 +87,172 @@ public class PacketValueConfig extends AppEngPacket
{
final Container c = player.openContainer;
// FIXME if( this.Name.equals( "Item" ) && ( ( !player.getHeldItem( Hand.MAIN_HAND ).isEmpty() && player.getHeldItem( Hand.MAIN_HAND ).getItem() instanceof IMouseWheelItem ) || ( !player.getHeldItem( Hand.OFF_HAND ).isEmpty() && player.getHeldItem( Hand.OFF_HAND ).getItem() instanceof IMouseWheelItem ) ) )
// FIXME {
// FIXME final Hand hand;
// FIXME if( !player.getHeldItem( Hand.MAIN_HAND ).isEmpty() && player.getHeldItem( Hand.MAIN_HAND ).getItem() instanceof IMouseWheelItem )
// FIXME {
// FIXME hand = Hand.MAIN_HAND;
// FIXME }
// FIXME else if( !player.getHeldItem( Hand.OFF_HAND ).isEmpty() && player.getHeldItem( Hand.OFF_HAND ).getItem() instanceof IMouseWheelItem )
// FIXME {
// FIXME hand = Hand.OFF_HAND;
// FIXME }
// FIXME else
// FIXME {
// FIXME return;
// FIXME }
// FIXME
// FIXME final ItemStack is = player.getHeldItem( hand );
// FIXME final IMouseWheelItem si = (IMouseWheelItem) is.getItem();
// FIXME si.onWheel( is, this.Value.equals( "WheelUp" ) );
// FIXME }
// FIXME else if( this.Name.equals( "Terminal.Cpu" ) && c instanceof ContainerCraftingStatus )
// FIXME {
// FIXME final ContainerCraftingStatus qk = (ContainerCraftingStatus) c;
// FIXME qk.cycleCpu( this.Value.equals( "Next" ) );
// FIXME }
// FIXME else if( this.Name.equals( "Terminal.Cpu" ) && c instanceof ContainerCraftConfirm )
// FIXME {
// FIXME final ContainerCraftConfirm qk = (ContainerCraftConfirm) c;
// FIXME qk.cycleCpu( this.Value.equals( "Next" ) );
// FIXME }
// FIXME else if( this.Name.equals( "Terminal.Start" ) && c instanceof ContainerCraftConfirm )
// FIXME {
// FIXME final ContainerCraftConfirm qk = (ContainerCraftConfirm) c;
// FIXME qk.startJob();
// FIXME }
// FIXME else if( this.Name.equals( "TileCrafting.Cancel" ) && c instanceof ContainerCraftingCPU )
// FIXME {
// FIXME final ContainerCraftingCPU qk = (ContainerCraftingCPU) c;
// FIXME qk.cancelCrafting();
// FIXME }
// FIXME else if( this.Name.equals( "QuartzKnife.Name" ) && c instanceof ContainerQuartzKnife )
// FIXME {
// FIXME final ContainerQuartzKnife qk = (ContainerQuartzKnife) c;
// FIXME qk.setName( this.Value );
// FIXME }
// FIXME else if( this.Name.equals( "TileSecurityStation.ToggleOption" ) && c instanceof ContainerSecurityStation )
// FIXME {
// FIXME final ContainerSecurityStation sc = (ContainerSecurityStation) c;
// FIXME sc.toggleSetting( this.Value, player );
// FIXME }
// FIXME else if( this.Name.equals( "PriorityHost.Priority" ) && c instanceof ContainerPriority )
// FIXME {
// FIXME final ContainerPriority pc = (ContainerPriority) c;
// FIXME pc.setPriority( Integer.parseInt( this.Value ), player );
// FIXME }
// FIXME else if( this.Name.equals( "LevelEmitter.Value" ) && c instanceof ContainerLevelEmitter )
// FIXME {
// FIXME final ContainerLevelEmitter lvc = (ContainerLevelEmitter) c;
// FIXME lvc.setLevel( Long.parseLong( this.Value ), player );
// FIXME }
// FIXME else if( this.Name.equals( "FluidLevelEmitter.Value" ) && c instanceof ContainerFluidLevelEmitter )
// FIXME {
// FIXME final ContainerFluidLevelEmitter lvc = (ContainerFluidLevelEmitter) c;
// FIXME lvc.setLevel( Long.parseLong( this.Value ), player );
// FIXME }
// FIXME else if( this.Name.startsWith( "PatternTerminal." ) && c instanceof ContainerPatternTerm )
// FIXME {
// FIXME final ContainerPatternTerm cpt = (ContainerPatternTerm) c;
// FIXME if( this.Name.equals( "PatternTerminal.CraftMode" ) )
// FIXME {
// FIXME cpt.getPatternTerminal().setCraftingRecipe( this.Value.equals( "1" ) );
// FIXME }
// FIXME else if( this.Name.equals( "PatternTerminal.Encode" ) )
// FIXME {
// FIXME cpt.encode();
// FIXME }
// FIXME else if( this.Name.equals( "PatternTerminal.Clear" ) )
// FIXME {
// FIXME cpt.clear();
// FIXME }
// FIXME else if( this.Name.equals( "PatternTerminal.Substitute" ) )
// FIXME {
// FIXME cpt.getPatternTerminal().setSubstitution( this.Value.equals( "1" ) );
// FIXME }
// FIXME }
// FIXME else if( this.Name.startsWith( "StorageBus." ) )
// FIXME {
// FIXME if( this.Name.equals( "StorageBus.Action" ) )
// FIXME {
// FIXME if( this.Value.equals( "Partition" ) )
// FIXME {
// FIXME if( c instanceof ContainerStorageBus )
// FIXME {
// FIXME ( (ContainerStorageBus) c ).partition();
// FIXME }
// FIXME else if( c instanceof ContainerFluidStorageBus )
// FIXME {
// FIXME ( (ContainerFluidStorageBus) c ).partition();
// FIXME }
// FIXME }
// FIXME else if( this.Value.equals( "Clear" ) )
// FIXME {
// FIXME if( c instanceof ContainerStorageBus )
// FIXME {
// FIXME ( (ContainerStorageBus) c ).clear();
// FIXME }
// FIXME else if( c instanceof ContainerFluidStorageBus )
// FIXME {
// FIXME ( (ContainerFluidStorageBus) c ).clear();
// FIXME }
// FIXME }
// FIXME }
// FIXME }
// FIXME else if( this.Name.startsWith( "CellWorkbench." ) && c instanceof ContainerCellWorkbench )
// FIXME {
// FIXME final ContainerCellWorkbench ccw = (ContainerCellWorkbench) c;
// FIXME if( this.Name.equals( "CellWorkbench.Action" ) )
// FIXME {
// FIXME if( this.Value.equals( "CopyMode" ) )
// FIXME {
// FIXME ccw.nextWorkBenchCopyMode();
// FIXME }
// FIXME else if( this.Value.equals( "Partition" ) )
// FIXME {
// FIXME ccw.partition();
// FIXME }
// FIXME else if( this.Value.equals( "Clear" ) )
// FIXME {
// FIXME ccw.clear();
// FIXME }
// FIXME }
// FIXME else if( this.Name.equals( "CellWorkbench.Fuzzy" ) )
// FIXME {
// FIXME ccw.setFuzzy( FuzzyMode.valueOf( this.Value ) );
// FIXME }
// FIXME }
// FIXME else if( c instanceof ContainerNetworkTool )
// FIXME {
// FIXME if( this.Name.equals( "NetworkTool" ) && this.Value.equals( "Toggle" ) )
// FIXME {
// FIXME ( (ContainerNetworkTool) c ).toggleFacadeMode();
// FIXME }
// FIXME }
// FIXME else if( c instanceof IConfigurableObject )
// FIXME {
// FIXME final IConfigManager cm = ( (IConfigurableObject) c ).getConfigManager();
// FIXME
// FIXME for( final Settings e : cm.getSettings() )
// FIXME {
// FIXME if( e.name().equals( this.Name ) )
// FIXME {
// FIXME final Enum<?> def = cm.getSetting( e );
// FIXME
// FIXME try
// FIXME {
// FIXME cm.putSetting( e, Enum.valueOf( def.getClass(), this.Value ) );
// FIXME }
// FIXME catch( final IllegalArgumentException err )
// FIXME {
// FIXME // :P
// FIXME }
// FIXME
// FIXME break;
// FIXME }
// FIXME }
// FIXME }
if( this.Name.equals( "Item" ) && ( ( !player.getHeldItem( Hand.MAIN_HAND ).isEmpty() && player.getHeldItem( Hand.MAIN_HAND ).getItem() instanceof IMouseWheelItem) || ( !player.getHeldItem( Hand.OFF_HAND ).isEmpty() && player.getHeldItem( Hand.OFF_HAND ).getItem() instanceof IMouseWheelItem ) ) )
{
final Hand hand;
if( !player.getHeldItem( Hand.MAIN_HAND ).isEmpty() && player.getHeldItem( Hand.MAIN_HAND ).getItem() instanceof IMouseWheelItem )
{
hand = Hand.MAIN_HAND;
}
else if( !player.getHeldItem( Hand.OFF_HAND ).isEmpty() && player.getHeldItem( Hand.OFF_HAND ).getItem() instanceof IMouseWheelItem )
{
hand = Hand.OFF_HAND;
}
else
{
return;
}
final ItemStack is = player.getHeldItem( hand );
final IMouseWheelItem si = (IMouseWheelItem) is.getItem();
si.onWheel( is, this.Value.equals( "WheelUp" ) );
}
else if( this.Name.equals( "Terminal.Cpu" ) && c instanceof ContainerCraftingStatus)
{
final ContainerCraftingStatus qk = (ContainerCraftingStatus) c;
qk.cycleCpu( this.Value.equals( "Next" ) );
}
else if( this.Name.equals( "Terminal.Cpu" ) && c instanceof ContainerCraftConfirm )
{
final ContainerCraftConfirm qk = (ContainerCraftConfirm) c;
qk.cycleCpu( this.Value.equals( "Next" ) );
}
else if( this.Name.equals( "Terminal.Start" ) && c instanceof ContainerCraftConfirm )
{
final ContainerCraftConfirm qk = (ContainerCraftConfirm) c;
qk.startJob();
}
else if( this.Name.equals( "TileCrafting.Cancel" ) && c instanceof ContainerCraftingCPU )
{
final ContainerCraftingCPU qk = (ContainerCraftingCPU) c;
qk.cancelCrafting();
}
else if( this.Name.equals( "QuartzKnife.Name" ) && c instanceof ContainerQuartzKnife )
{
final ContainerQuartzKnife qk = (ContainerQuartzKnife) c;
qk.setName( this.Value );
}
else if( this.Name.equals( "TileSecurityStation.ToggleOption" ) && c instanceof ContainerSecurityStation )
{
final ContainerSecurityStation sc = (ContainerSecurityStation) c;
sc.toggleSetting( this.Value, player );
}
else if( this.Name.equals( "PriorityHost.Priority" ) && c instanceof ContainerPriority )
{
final ContainerPriority pc = (ContainerPriority) c;
pc.setPriority( Integer.parseInt( this.Value ), player );
}
else if( this.Name.equals( "LevelEmitter.Value" ) && c instanceof ContainerLevelEmitter )
{
final ContainerLevelEmitter lvc = (ContainerLevelEmitter) c;
lvc.setLevel( Long.parseLong( this.Value ), player );
}
else if( this.Name.equals( "FluidLevelEmitter.Value" ) && c instanceof ContainerFluidLevelEmitter)
{
final ContainerFluidLevelEmitter lvc = (ContainerFluidLevelEmitter) c;
lvc.setLevel( Long.parseLong( this.Value ), player );
}
else if( this.Name.startsWith( "PatternTerminal." ) && c instanceof ContainerPatternTerm )
{
final ContainerPatternTerm cpt = (ContainerPatternTerm) c;
if( this.Name.equals( "PatternTerminal.CraftMode" ) )
{
cpt.getPatternTerminal().setCraftingRecipe( this.Value.equals( "1" ) );
}
else if( this.Name.equals( "PatternTerminal.Encode" ) )
{
cpt.encode();
}
else if( this.Name.equals( "PatternTerminal.Clear" ) )
{
cpt.clear();
}
else if( this.Name.equals( "PatternTerminal.Substitute" ) )
{
cpt.getPatternTerminal().setSubstitution( this.Value.equals( "1" ) );
}
}
else if( this.Name.startsWith( "StorageBus." ) )
{
if( this.Name.equals( "StorageBus.Action" ) )
{
if( this.Value.equals( "Partition" ) )
{
if( c instanceof ContainerStorageBus )
{
( (ContainerStorageBus) c ).partition();
}
else if( c instanceof ContainerFluidStorageBus)
{
( (ContainerFluidStorageBus) c ).partition();
}
}
else if( this.Value.equals( "Clear" ) )
{
if( c instanceof ContainerStorageBus )
{
( (ContainerStorageBus) c ).clear();
}
else if( c instanceof ContainerFluidStorageBus )
{
( (ContainerFluidStorageBus) c ).clear();
}
}
}
}
else if( this.Name.startsWith( "CellWorkbench." ) && c instanceof ContainerCellWorkbench )
{
final ContainerCellWorkbench ccw = (ContainerCellWorkbench) c;
if( this.Name.equals( "CellWorkbench.Action" ) )
{
if( this.Value.equals( "CopyMode" ) )
{
ccw.nextWorkBenchCopyMode();
}
else if( this.Value.equals( "Partition" ) )
{
ccw.partition();
}
else if( this.Value.equals( "Clear" ) )
{
ccw.clear();
}
}
else if( this.Name.equals( "CellWorkbench.Fuzzy" ) )
{
ccw.setFuzzy( FuzzyMode.valueOf( this.Value ) );
}
}
else if( c instanceof ContainerNetworkTool )
{
if( this.Name.equals( "NetworkTool" ) && this.Value.equals( "Toggle" ) )
{
( (ContainerNetworkTool) c ).toggleFacadeMode();
}
}
else if( c instanceof IConfigurableObject)
{
final IConfigManager cm = ( (IConfigurableObject) c ).getConfigManager();
for( final Settings e : cm.getSettings() )
{
if( e.name().equals( this.Name ) )
{
final Enum<?> def = cm.getSetting( e );
try
{
cm.putSetting( e, Enum.valueOf( def.getClass(), this.Value ) );
}
catch( final IllegalArgumentException err )
{
// :P
}
break;
}
}
}
}
@Override
@@ -236,44 +260,44 @@ public class PacketValueConfig extends AppEngPacket
{
final Container c = player.openContainer;
// FIXME if( this.Name.equals( "CustomName" ) && c instanceof AEBaseContainer )
// FIXME {
// FIXME ( (AEBaseContainer) c ).setCustomName( this.Value );
// FIXME }
// FIXME else if( this.Name.startsWith( "SyncDat." ) )
// FIXME {
// FIXME ( (AEBaseContainer) c ).stringSync( Integer.parseInt( this.Name.substring( 8 ) ), this.Value );
// FIXME }
// FIXME else if( this.Name.equals( "CraftingStatus" ) && this.Value.equals( "Clear" ) )
// FIXME {
// FIXME final Screen gs = Minecraft.getInstance().currentScreen;
// FIXME if( gs instanceof GuiCraftingCPU )
// FIXME {
// FIXME ( (GuiCraftingCPU) gs ).clearItems();
// FIXME }
// FIXME }
// FIXME else if( c instanceof IConfigurableObject )
// FIXME {
// FIXME final IConfigManager cm = ( (IConfigurableObject) c ).getConfigManager();
// FIXME
// FIXME for( final Settings e : cm.getSettings() )
// FIXME {
// FIXME if( e.name().equals( this.Name ) )
// FIXME {
// FIXME final Enum<?> def = cm.getSetting( e );
// FIXME
// FIXME try
// FIXME {
// FIXME cm.putSetting( e, Enum.valueOf( def.getClass(), this.Value ) );
// FIXME }
// FIXME catch( final IllegalArgumentException err )
// FIXME {
// FIXME // :P
// FIXME }
// FIXME
// FIXME break;
// FIXME }
// FIXME }
// FIXME }
if( this.Name.equals( "CustomName" ) && c instanceof AEBaseContainer)
{
( (AEBaseContainer) c ).setCustomName( this.Value );
}
else if( this.Name.startsWith( "SyncDat." ) )
{
( (AEBaseContainer) c ).stringSync( Integer.parseInt( this.Name.substring( 8 ) ), this.Value );
}
else if( this.Name.equals( "CraftingStatus" ) && this.Value.equals( "Clear" ) )
{
final Screen gs = Minecraft.getInstance().currentScreen;
if( gs instanceof GuiCraftingCPU)
{
( (GuiCraftingCPU) gs ).clearItems();
}
}
else if( c instanceof IConfigurableObject )
{
final IConfigManager cm = ( (IConfigurableObject) c ).getConfigManager();
for( final Settings e : cm.getSettings() )
{
if( e.name().equals( this.Name ) )
{
final Enum<?> def = cm.getSetting( e );
try
{
cm.putSetting( e, Enum.valueOf( def.getClass(), this.Value ) );
}
catch( final IllegalArgumentException err )
{
// :P
}
break;
}
}
}
}
}