aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/api/interfaces
diff options
context:
space:
mode:
authorMartin Robertz <dream-master@gmx.net>2021-12-15 16:11:54 +0100
committerGitHub <noreply@github.com>2021-12-15 16:11:54 +0100
commit128c74faa99dfef8d056c1d82c6e4388b9d470e8 (patch)
tree2c84162154ba681232f86dffd4106db530236814 /src/main/java/gtPlusPlus/api/interfaces
parent47ce336f288a45aa3244c8ae1177499fa5080942 (diff)
parentff4b8c7068c2ea7d654e9beda00646d23e62b314 (diff)
downloadGT5-Unofficial-128c74faa99dfef8d056c1d82c6e4388b9d470e8.tar.gz
GT5-Unofficial-128c74faa99dfef8d056c1d82c6e4388b9d470e8.tar.bz2
GT5-Unofficial-128c74faa99dfef8d056c1d82c6e4388b9d470e8.zip
Merge pull request #65 from GTNewHorizons/unified-build-script2
Move sources and resources
Diffstat (limited to 'src/main/java/gtPlusPlus/api/interfaces')
-rw-r--r--src/main/java/gtPlusPlus/api/interfaces/IChunkLoader.java33
-rw-r--r--src/main/java/gtPlusPlus/api/interfaces/IComparableRecipe.java8
-rw-r--r--src/main/java/gtPlusPlus/api/interfaces/IEntityCatcher.java21
-rw-r--r--src/main/java/gtPlusPlus/api/interfaces/IGeneratorWorld.java17
-rw-r--r--src/main/java/gtPlusPlus/api/interfaces/IGregtechPacketEntity.java13
-rw-r--r--src/main/java/gtPlusPlus/api/interfaces/IGregtechPower.java145
-rw-r--r--src/main/java/gtPlusPlus/api/interfaces/ILazyCoverable.java144
-rw-r--r--src/main/java/gtPlusPlus/api/interfaces/IPlugin.java40
-rw-r--r--src/main/java/gtPlusPlus/api/interfaces/IRandomGenerator.java55
-rw-r--r--src/main/java/gtPlusPlus/api/interfaces/ITexturedBlock.java14
-rw-r--r--src/main/java/gtPlusPlus/api/interfaces/ITileTooltip.java7
-rw-r--r--src/main/java/gtPlusPlus/api/interfaces/IToolable.java17
-rw-r--r--src/main/java/gtPlusPlus/api/interfaces/RunnableWithInfo.java12
13 files changed, 526 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/api/interfaces/IChunkLoader.java b/src/main/java/gtPlusPlus/api/interfaces/IChunkLoader.java
new file mode 100644
index 0000000000..c04e25f570
--- /dev/null
+++ b/src/main/java/gtPlusPlus/api/interfaces/IChunkLoader.java
@@ -0,0 +1,33 @@
+package gtPlusPlus.api.interfaces;
+
+import java.util.Set;
+
+import net.minecraft.world.ChunkCoordIntPair;
+
+public interface IChunkLoader {
+
+ public long getTicksRemaining();
+
+ public void setTicksRemaining(long aTicks);
+
+ public ChunkCoordIntPair getResidingChunk();
+
+ public void setResidingChunk(ChunkCoordIntPair aCurrentChunk);
+
+ public boolean getChunkLoadingActive();
+
+ public void setChunkLoadingActive(boolean aActive);
+
+ public boolean getDoesWorkChunkNeedReload();
+
+ public void setDoesWorkChunkNeedReload(boolean aActive);
+
+ public boolean addChunkToLoadedList(ChunkCoordIntPair aActiveChunk);
+
+ public boolean removeChunkFromLoadedList(ChunkCoordIntPair aActiveChunk);
+
+ public Set<ChunkCoordIntPair> getManagedChunks();
+
+ public int getChunkloaderTier();
+
+}
diff --git a/src/main/java/gtPlusPlus/api/interfaces/IComparableRecipe.java b/src/main/java/gtPlusPlus/api/interfaces/IComparableRecipe.java
new file mode 100644
index 0000000000..ddbf9f38bb
--- /dev/null
+++ b/src/main/java/gtPlusPlus/api/interfaces/IComparableRecipe.java
@@ -0,0 +1,8 @@
+package gtPlusPlus.api.interfaces;
+
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GTPP_Recipe;
+
+public interface IComparableRecipe extends Comparable<GT_Recipe>{
+
+}
diff --git a/src/main/java/gtPlusPlus/api/interfaces/IEntityCatcher.java b/src/main/java/gtPlusPlus/api/interfaces/IEntityCatcher.java
new file mode 100644
index 0000000000..5ab90d47ce
--- /dev/null
+++ b/src/main/java/gtPlusPlus/api/interfaces/IEntityCatcher.java
@@ -0,0 +1,21 @@
+package gtPlusPlus.api.interfaces;
+
+import net.minecraft.entity.Entity;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
+import gtPlusPlus.api.objects.minecraft.BlockPos;
+
+public interface IEntityCatcher {
+
+ public boolean hasEntity(ItemStack aStack);
+
+ public Entity getStoredEntity(World aWorld, ItemStack aStack);
+
+ public boolean setStoredEntity(World aWorld, ItemStack aStack, Entity aEntity);
+
+ public Class<? extends Entity> getStoredEntityClass(ItemStack aStack);
+
+ public boolean spawnStoredEntity(World aWorld, ItemStack aStack, BlockPos aPos);
+
+}
diff --git a/src/main/java/gtPlusPlus/api/interfaces/IGeneratorWorld.java b/src/main/java/gtPlusPlus/api/interfaces/IGeneratorWorld.java
new file mode 100644
index 0000000000..63f2adbba7
--- /dev/null
+++ b/src/main/java/gtPlusPlus/api/interfaces/IGeneratorWorld.java
@@ -0,0 +1,17 @@
+package gtPlusPlus.api.interfaces;
+
+import java.util.Random;
+import net.minecraft.world.World;
+
+public abstract interface IGeneratorWorld
+{
+ public abstract boolean generate(World paramWorld, Random paramRandom, int paramInt1, int paramInt2);
+
+ public abstract void initiate();
+
+ public abstract int getExtentX();
+
+ public abstract int getExtentZ();
+
+ public abstract int getRange();
+}
diff --git a/src/main/java/gtPlusPlus/api/interfaces/IGregtechPacketEntity.java b/src/main/java/gtPlusPlus/api/interfaces/IGregtechPacketEntity.java
new file mode 100644
index 0000000000..fa59c58d9f
--- /dev/null
+++ b/src/main/java/gtPlusPlus/api/interfaces/IGregtechPacketEntity.java
@@ -0,0 +1,13 @@
+package gtPlusPlus.api.interfaces;
+
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+
+public interface IGregtechPacketEntity {
+
+ public void writePacketData(DataOutputStream data) throws IOException;
+
+ public void readPacketData(DataInputStream data) throws IOException;
+
+}
diff --git a/src/main/java/gtPlusPlus/api/interfaces/IGregtechPower.java b/src/main/java/gtPlusPlus/api/interfaces/IGregtechPower.java
new file mode 100644
index 0000000000..4bb29b3354
--- /dev/null
+++ b/src/main/java/gtPlusPlus/api/interfaces/IGregtechPower.java
@@ -0,0 +1,145 @@
+package gtPlusPlus.api.interfaces;
+
+import net.minecraft.block.Block;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.world.World;
+
+import gregtech.api.interfaces.IDescribable;
+import gregtech.api.interfaces.tileentity.*;
+
+public abstract interface IGregtechPower extends IGearEnergyTileEntity, ITurnable, IGregTechDeviceInformation, IDescribable, IBasicEnergyContainer {
+
+ @Override
+ public String[] getDescription();
+
+ @Override
+ default boolean isUniversalEnergyStored(long p0) {
+ return false;
+ }
+
+ @Override
+ public long getOutputAmperage();
+
+ @Override
+ public long getOutputVoltage();
+
+ @Override
+ public long getInputAmperage();
+
+ @Override
+ public long getInputVoltage();
+
+ @Override
+ public boolean decreaseStoredEnergyUnits(long p0, boolean p1);
+
+ @Override
+ public boolean increaseStoredEnergyUnits(long p0, boolean p1);
+
+ @Override
+ public boolean drainEnergyUnits(byte p0, long p1, long p2);
+
+ @Override
+ public long getAverageElectricInput();
+
+ @Override
+ public long getAverageElectricOutput();
+
+ @Override
+ public long getStoredEU();
+
+ @Override
+ public long getEUCapacity();
+
+ @Override
+ public long getStoredSteam();
+
+ @Override
+ public long getSteamCapacity();
+
+ @Override
+ public boolean increaseStoredSteam(long p0, boolean p1);
+
+ @Override
+ public Block getBlockAtSide(byte p0);
+
+ @Override
+ public Block getBlockAtSideAndDistance(byte p0, int p1);
+
+ @Override
+ public Block getBlockOffset(int p0, int p1, int p2);
+
+
+ @Override
+ public TileEntity getTileEntity(int p0, int p1, int p2);
+
+ @Override
+ public TileEntity getTileEntityAtSide(byte p0);
+
+ @Override
+ public TileEntity getTileEntityAtSideAndDistance(byte p0, int p1);
+
+ @Override
+ public TileEntity getTileEntityOffset(int p0, int p1, int p2);
+
+ @Override
+ public World getWorld();
+
+ @Override
+ public int getXCoord();
+
+ @Override
+ public short getYCoord();
+
+ @Override
+ public int getZCoord();
+
+ @Override
+ public boolean isClientSide();
+
+ @Override
+ public boolean isDead();
+
+ @Override
+ public boolean isInvalidTileEntity();
+
+ @Override
+ public boolean isServerSide();
+
+ @Override
+ public void readFromNBT(NBTTagCompound p0);
+
+ @Override
+ public void writeToNBT(NBTTagCompound p0);
+
+ @Override
+ public boolean acceptsRotationalEnergy(byte p0);
+
+ @Override
+ public boolean injectRotationalEnergy(byte p0, long p1, long p2);
+
+ @Override
+ public long injectEnergyUnits(byte p0, long p1, long p2);
+
+ @Override
+ public boolean inputEnergyFrom(byte p0);
+
+ @Override
+ public boolean outputsEnergyTo(byte p0);
+
+ @Override
+ public String[] getInfoData();
+
+ @Override
+ default public boolean isGivingInformation() {
+ return true;
+ }
+
+/* boolean onPreTick(TilePoweredGT tilePoweredGT, long mTickTimer2);
+
+ boolean onTick(TilePoweredGT iGregTechTileEntity, long mTickTimer2);
+
+ boolean onPostTick(TilePoweredGT iGregTechTileEntity, long mTickTimer2);*/
+
+
+}
diff --git a/src/main/java/gtPlusPlus/api/interfaces/ILazyCoverable.java b/src/main/java/gtPlusPlus/api/interfaces/ILazyCoverable.java
new file mode 100644
index 0000000000..9e1a7431db
--- /dev/null
+++ b/src/main/java/gtPlusPlus/api/interfaces/ILazyCoverable.java
@@ -0,0 +1,144 @@
+package gtPlusPlus.api.interfaces;
+
+import gregtech.api.interfaces.tileentity.ICoverable;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+
+public interface ILazyCoverable extends ICoverable {
+
+ @Override
+ default byte getColorization() {
+ return 0;
+ }
+
+ @Override
+ default byte setColorization(byte arg0) {
+ return 0;
+ }
+
+ @Override
+ default byte getInputRedstoneSignal(byte arg0) {
+ return 0;
+ }
+
+ @Override
+ default byte getStrongestRedstone() {
+ return 0;
+ }
+
+ @Override
+ default boolean getRedstone() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ @Override
+ default boolean getRedstone(byte arg0) {
+ return false;
+ }
+
+ @Override
+ default boolean isUniversalEnergyStored(long arg0) {
+ return false;
+ }
+
+ @Override
+ default long getUniversalEnergyStored() {
+ return 0;
+ }
+
+ @Override
+ default long getUniversalEnergyCapacity() {
+ return 0;
+ }
+
+ @Override
+ default long getStoredSteam() {
+ return 0;
+ }
+
+ @Override
+ default long getSteamCapacity() {
+ return 0;
+ }
+
+ @Override
+ default boolean increaseStoredSteam(long arg0, boolean arg2) {
+ return false;
+ }
+
+ @Override
+ default byte getOutputRedstoneSignal(byte arg0) {
+ return 0;
+ }
+
+ @Override
+ default void setOutputRedstoneSignal(byte arg0, byte arg1) {
+
+ }
+
+ @Override
+ default byte getStrongOutputRedstoneSignal(byte arg0) {
+ return 0;
+ }
+
+ @Override
+ default void setStrongOutputRedstoneSignal(byte arg0, byte arg1) {
+
+ }
+
+ @Override
+ default byte getComparatorValue(byte arg0) {
+ return 0;
+ }
+
+ @Override
+ default IGregTechTileEntity getIGregTechTileEntity(int arg0, int arg1, int arg2) {
+ return null;
+ }
+
+ @Override
+ default IGregTechTileEntity getIGregTechTileEntityOffset(int arg0, int arg1, int arg2) {
+ return null;
+ }
+
+ @Override
+ default IGregTechTileEntity getIGregTechTileEntityAtSide(byte arg0) {
+ return null;
+ }
+
+ @Override
+ default IGregTechTileEntity getIGregTechTileEntityAtSideAndDistance(byte arg0, int arg1) {
+ return null;
+ }
+
+ @Override
+ default byte getMetaID(int arg0, int arg1, int arg2) {
+ return 0;
+ }
+
+ @Override
+ default byte getMetaIDOffset(int arg0, int arg1, int arg2) {
+ return 0;
+ }
+
+ @Override
+ default byte getMetaIDAtSide(byte arg0) {
+ return 0;
+ }
+
+ @Override
+ default byte getMetaIDAtSideAndDistance(byte arg0, int arg1) {
+ return 0;
+ }
+
+ @Override
+ default boolean isDead() {
+ return false;
+ }
+
+ @Override
+ default void setLightValue(byte arg0) {
+
+ }
+
+}
diff --git a/src/main/java/gtPlusPlus/api/interfaces/IPlugin.java b/src/main/java/gtPlusPlus/api/interfaces/IPlugin.java
new file mode 100644
index 0000000000..67be182402
--- /dev/null
+++ b/src/main/java/gtPlusPlus/api/interfaces/IPlugin.java
@@ -0,0 +1,40 @@
+package gtPlusPlus.api.interfaces;
+
+import gtPlusPlus.api.objects.Logger;
+
+public interface IPlugin {
+
+ /**
+ * @return A {@link String} object which returns the {@link IPlugin}'s name.
+ */
+ public String getPluginName();
+
+ /**
+ * @return
+ * A {@link String} object which returns the {@link IPlugin}'s short name.
+ * This String should only contain 4 Characters.
+ */
+ public String getPluginAbbreviation();
+
+ /**
+ * @param message - A {@link String} object which holds a message to be logged to console.
+ */
+ default void log(String message) {
+ Logger.INFO("["+getPluginAbbreviation()+"] "+message);
+ }
+
+ /**
+ * @param message - A {@link String} object which holds a warning/error message to be logged to console.
+ */
+ default void logDebug(String message) {
+ Logger.WARNING("["+getPluginAbbreviation()+"] "+message);
+ }
+
+ public boolean preInit();
+ public boolean init();
+ public boolean postInit();
+
+ public boolean serverStart();
+ public boolean serverStop();
+
+}
diff --git a/src/main/java/gtPlusPlus/api/interfaces/IRandomGenerator.java b/src/main/java/gtPlusPlus/api/interfaces/IRandomGenerator.java
new file mode 100644
index 0000000000..233fb93d4d
--- /dev/null
+++ b/src/main/java/gtPlusPlus/api/interfaces/IRandomGenerator.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2005, Nick Galbreath -- nickg [at] modp [dot] com
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * Neither the name of the modp.com nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * This is the standard "new" BSD license:
+ * http://www.opensource.org/licenses/bsd-license.php
+ */
+
+package gtPlusPlus.api.interfaces;
+
+/**
+ * Simplified interface for random number generation
+ *
+ * @author Nick Galbreath -- nickg [at] modp [dot] com
+ * @version 1 -- 06-Jul-2005
+ */
+public interface IRandomGenerator {
+
+ /**
+ * Returns N random bits
+ *
+ * See also java.util.Random#next
+ * @param numBits
+ * @return and int with the LSB being random
+ */
+ public int next(int numBits);
+
+}
diff --git a/src/main/java/gtPlusPlus/api/interfaces/ITexturedBlock.java b/src/main/java/gtPlusPlus/api/interfaces/ITexturedBlock.java
new file mode 100644
index 0000000000..47e692bffb
--- /dev/null
+++ b/src/main/java/gtPlusPlus/api/interfaces/ITexturedBlock.java
@@ -0,0 +1,14 @@
+package gtPlusPlus.api.interfaces;
+
+import net.minecraft.block.Block;
+
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.tileentity.ITexturedTileEntity;
+
+public interface ITexturedBlock extends ITexturedTileEntity{
+
+ ITexture[] getTexture(byte side);
+
+ ITexture[] getTexture(Block block, byte side);
+
+}
diff --git a/src/main/java/gtPlusPlus/api/interfaces/ITileTooltip.java b/src/main/java/gtPlusPlus/api/interfaces/ITileTooltip.java
new file mode 100644
index 0000000000..08866c2712
--- /dev/null
+++ b/src/main/java/gtPlusPlus/api/interfaces/ITileTooltip.java
@@ -0,0 +1,7 @@
+package gtPlusPlus.api.interfaces;
+
+public interface ITileTooltip {
+
+ public abstract int getTooltipID();
+
+}
diff --git a/src/main/java/gtPlusPlus/api/interfaces/IToolable.java b/src/main/java/gtPlusPlus/api/interfaces/IToolable.java
new file mode 100644
index 0000000000..24797825a9
--- /dev/null
+++ b/src/main/java/gtPlusPlus/api/interfaces/IToolable.java
@@ -0,0 +1,17 @@
+package gtPlusPlus.api.interfaces;
+
+public interface IToolable {
+
+ public boolean isScrewdriverable();
+ public boolean onScrewdriverLMB();
+ public boolean onScrewdriverRMB();
+
+ public boolean isWrenchable();
+ public boolean onWrenchLMB();
+ public boolean onWrenchRMB();
+
+ public boolean isMalletable();
+ public boolean onMalletLMB();
+ public boolean onMalletRMB();
+
+}
diff --git a/src/main/java/gtPlusPlus/api/interfaces/RunnableWithInfo.java b/src/main/java/gtPlusPlus/api/interfaces/RunnableWithInfo.java
new file mode 100644
index 0000000000..4f4b9d7acd
--- /dev/null
+++ b/src/main/java/gtPlusPlus/api/interfaces/RunnableWithInfo.java
@@ -0,0 +1,12 @@
+package gtPlusPlus.api.interfaces;
+
+public interface RunnableWithInfo<V> extends Runnable {
+
+ public V getInfoData();
+
+ default public Class<?> getInfoDataType() {
+ return getInfoData().getClass();
+ }
+
+
+}