1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 11:45:51 +00:00

Some documentation and refactoring

This commit is contained in:
TheBusyBiscuit 2021-03-13 17:40:09 +01:00
parent 44a6d15d18
commit 79a73d8e26
6 changed files with 27 additions and 9 deletions

View File

@ -5,8 +5,13 @@ import javax.annotation.Nonnull;
import io.github.thebusybiscuit.slimefun4.core.machines.MachineOperation; import io.github.thebusybiscuit.slimefun4.core.machines.MachineOperation;
import io.github.thebusybiscuit.slimefun4.core.machines.MachineProcessor; import io.github.thebusybiscuit.slimefun4.core.machines.MachineProcessor;
public interface Processor<T extends MachineOperation> extends ItemAttribute { public interface MachineOperator<T extends MachineOperation> extends ItemAttribute {
/**
* This method returns our {@link MachineProcessor} instance.
*
* @return Our {@link MachineProcessor}
*/
@Nonnull @Nonnull
MachineProcessor<T> getMachineProcessor(); MachineProcessor<T> getMachineProcessor();

View File

@ -23,11 +23,24 @@ public class MachineProcessor<T extends MachineOperation> {
private final Map<BlockPosition, T> machines = new HashMap<>(); private final Map<BlockPosition, T> machines = new HashMap<>();
private ItemStack progressBar; private ItemStack progressBar;
/**
* This returns the progress bar icon for this {@link MachineProcessor}
* or null if no progress bar was set.
*
* @return The progress bar icon or null
*/
@Nullable @Nullable
public ItemStack getProgressBar() { public ItemStack getProgressBar() {
return progressBar; return progressBar;
} }
/**
* This sets the progress bar icon for this {@link MachineProcessor}.
* You can also set it to null to clear the progress bar.
*
* @param progressBar
* An {@link ItemStack} or null
*/
public void setProgressBar(@Nullable ItemStack progressBar) { public void setProgressBar(@Nullable ItemStack progressBar) {
this.progressBar = progressBar; this.progressBar = progressBar;
} }

View File

@ -23,7 +23,7 @@ import io.github.thebusybiscuit.cscorelib2.item.CustomItem;
import io.github.thebusybiscuit.cscorelib2.protection.ProtectableAction; import io.github.thebusybiscuit.cscorelib2.protection.ProtectableAction;
import io.github.thebusybiscuit.slimefun4.api.events.ReactorExplodeEvent; import io.github.thebusybiscuit.slimefun4.api.events.ReactorExplodeEvent;
import io.github.thebusybiscuit.slimefun4.core.attributes.HologramOwner; import io.github.thebusybiscuit.slimefun4.core.attributes.HologramOwner;
import io.github.thebusybiscuit.slimefun4.core.attributes.Processor; import io.github.thebusybiscuit.slimefun4.core.attributes.MachineOperator;
import io.github.thebusybiscuit.slimefun4.core.handlers.BlockBreakHandler; import io.github.thebusybiscuit.slimefun4.core.handlers.BlockBreakHandler;
import io.github.thebusybiscuit.slimefun4.core.machines.FuelOperation; import io.github.thebusybiscuit.slimefun4.core.machines.FuelOperation;
import io.github.thebusybiscuit.slimefun4.core.machines.MachineProcessor; import io.github.thebusybiscuit.slimefun4.core.machines.MachineProcessor;
@ -59,7 +59,7 @@ import me.mrCookieSlime.Slimefun.api.item_transport.ItemTransportFlow;
* @see NetherStarReactor * @see NetherStarReactor
* *
*/ */
public abstract class Reactor extends AbstractEnergyProvider implements HologramOwner, Processor<FuelOperation> { public abstract class Reactor extends AbstractEnergyProvider implements HologramOwner, MachineOperator<FuelOperation> {
private static final String MODE = "reactor-mode"; private static final String MODE = "reactor-mode";
private static final int INFO_SLOT = 49; private static final int INFO_SLOT = 49;

View File

@ -19,7 +19,7 @@ import io.github.thebusybiscuit.cscorelib2.item.CustomItem;
import io.github.thebusybiscuit.slimefun4.api.geo.GEOResource; import io.github.thebusybiscuit.slimefun4.api.geo.GEOResource;
import io.github.thebusybiscuit.slimefun4.core.attributes.EnergyNetComponent; import io.github.thebusybiscuit.slimefun4.core.attributes.EnergyNetComponent;
import io.github.thebusybiscuit.slimefun4.core.attributes.HologramOwner; import io.github.thebusybiscuit.slimefun4.core.attributes.HologramOwner;
import io.github.thebusybiscuit.slimefun4.core.attributes.Processor; import io.github.thebusybiscuit.slimefun4.core.attributes.MachineOperator;
import io.github.thebusybiscuit.slimefun4.core.attributes.RecipeDisplayItem; import io.github.thebusybiscuit.slimefun4.core.attributes.RecipeDisplayItem;
import io.github.thebusybiscuit.slimefun4.core.handlers.BlockBreakHandler; import io.github.thebusybiscuit.slimefun4.core.handlers.BlockBreakHandler;
import io.github.thebusybiscuit.slimefun4.core.handlers.BlockPlaceHandler; import io.github.thebusybiscuit.slimefun4.core.handlers.BlockPlaceHandler;
@ -42,7 +42,7 @@ import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
import me.mrCookieSlime.Slimefun.api.inventory.BlockMenu; import me.mrCookieSlime.Slimefun.api.inventory.BlockMenu;
import me.mrCookieSlime.Slimefun.api.inventory.BlockMenuPreset; import me.mrCookieSlime.Slimefun.api.inventory.BlockMenuPreset;
public class GEOMiner extends SlimefunItem implements RecipeDisplayItem, EnergyNetComponent, InventoryBlock, HologramOwner, Processor<MiningOperation> { public class GEOMiner extends SlimefunItem implements RecipeDisplayItem, EnergyNetComponent, InventoryBlock, HologramOwner, MachineOperator<MiningOperation> {
private static final int[] BORDER = { 0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 26, 27, 35, 36, 44, 45, 53 }; private static final int[] BORDER = { 0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 26, 27, 35, 36, 44, 45, 53 };
private static final int[] OUTPUT_BORDER = { 19, 20, 21, 22, 23, 24, 25, 28, 34, 37, 43, 46, 47, 48, 49, 50, 51, 52 }; private static final int[] OUTPUT_BORDER = { 19, 20, 21, 22, 23, 24, 25, 28, 34, 37, 43, 46, 47, 48, 49, 50, 51, 52 };

View File

@ -22,7 +22,7 @@ import io.github.thebusybiscuit.cscorelib2.item.CustomItem;
import io.github.thebusybiscuit.slimefun4.api.SlimefunAddon; import io.github.thebusybiscuit.slimefun4.api.SlimefunAddon;
import io.github.thebusybiscuit.slimefun4.api.items.ItemState; import io.github.thebusybiscuit.slimefun4.api.items.ItemState;
import io.github.thebusybiscuit.slimefun4.core.attributes.EnergyNetComponent; import io.github.thebusybiscuit.slimefun4.core.attributes.EnergyNetComponent;
import io.github.thebusybiscuit.slimefun4.core.attributes.Processor; import io.github.thebusybiscuit.slimefun4.core.attributes.MachineOperator;
import io.github.thebusybiscuit.slimefun4.core.machines.CraftingOperation; import io.github.thebusybiscuit.slimefun4.core.machines.CraftingOperation;
import io.github.thebusybiscuit.slimefun4.core.machines.MachineProcessor; import io.github.thebusybiscuit.slimefun4.core.machines.MachineProcessor;
import io.github.thebusybiscuit.slimefun4.core.networks.energy.EnergyNetComponentType; import io.github.thebusybiscuit.slimefun4.core.networks.energy.EnergyNetComponentType;
@ -42,7 +42,7 @@ import me.mrCookieSlime.Slimefun.api.SlimefunItemStack;
import me.mrCookieSlime.Slimefun.api.inventory.BlockMenu; import me.mrCookieSlime.Slimefun.api.inventory.BlockMenu;
import me.mrCookieSlime.Slimefun.api.inventory.BlockMenuPreset; import me.mrCookieSlime.Slimefun.api.inventory.BlockMenuPreset;
public abstract class AContainer extends SlimefunItem implements InventoryBlock, EnergyNetComponent, Processor<CraftingOperation> { public abstract class AContainer extends SlimefunItem implements InventoryBlock, EnergyNetComponent, MachineOperator<CraftingOperation> {
private static final int[] BORDER = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 13, 31, 36, 37, 38, 39, 40, 41, 42, 43, 44 }; private static final int[] BORDER = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 13, 31, 36, 37, 38, 39, 40, 41, 42, 43, 44 };
private static final int[] BORDER_IN = { 9, 10, 11, 12, 18, 21, 27, 28, 29, 30 }; private static final int[] BORDER_IN = { 9, 10, 11, 12, 18, 21, 27, 28, 29, 30 };

View File

@ -19,7 +19,7 @@ import io.github.thebusybiscuit.cscorelib2.item.CustomItem;
import io.github.thebusybiscuit.cscorelib2.protection.ProtectableAction; import io.github.thebusybiscuit.cscorelib2.protection.ProtectableAction;
import io.github.thebusybiscuit.slimefun4.api.SlimefunAddon; import io.github.thebusybiscuit.slimefun4.api.SlimefunAddon;
import io.github.thebusybiscuit.slimefun4.api.items.ItemState; import io.github.thebusybiscuit.slimefun4.api.items.ItemState;
import io.github.thebusybiscuit.slimefun4.core.attributes.Processor; import io.github.thebusybiscuit.slimefun4.core.attributes.MachineOperator;
import io.github.thebusybiscuit.slimefun4.core.machines.FuelOperation; import io.github.thebusybiscuit.slimefun4.core.machines.FuelOperation;
import io.github.thebusybiscuit.slimefun4.core.machines.MachineProcessor; import io.github.thebusybiscuit.slimefun4.core.machines.MachineProcessor;
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems; import io.github.thebusybiscuit.slimefun4.implementation.SlimefunItems;
@ -39,7 +39,7 @@ import me.mrCookieSlime.Slimefun.api.inventory.BlockMenu;
import me.mrCookieSlime.Slimefun.api.inventory.BlockMenuPreset; import me.mrCookieSlime.Slimefun.api.inventory.BlockMenuPreset;
import me.mrCookieSlime.Slimefun.api.item_transport.ItemTransportFlow; import me.mrCookieSlime.Slimefun.api.item_transport.ItemTransportFlow;
public abstract class AGenerator extends AbstractEnergyProvider implements Processor<FuelOperation> { public abstract class AGenerator extends AbstractEnergyProvider implements MachineOperator<FuelOperation> {
private static final int[] border = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 13, 31, 36, 37, 38, 39, 40, 41, 42, 43, 44 }; private static final int[] border = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 13, 31, 36, 37, 38, 39, 40, 41, 42, 43, 44 };
private static final int[] border_in = { 9, 10, 11, 12, 18, 21, 27, 28, 29, 30 }; private static final int[] border_in = { 9, 10, 11, 12, 18, 21, 27, 28, 29, 30 };