All GUI compile errors fixed, switched to excludes over includes in gradle build and lots, LOTS of more fixes.
This commit is contained in:
@@ -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() ) );
|
||||
// }
|
||||
}
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user