Added spotless back and reformatted

This commit is contained in:
Sebastian Hartte
2020-07-27 20:07:27 +02:00
parent 49296915c9
commit 780f68952b
593 changed files with 4192 additions and 3969 deletions
@@ -22,8 +22,8 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.minecraft.block.BlockState;
import net.minecraft.util.math.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.world.BlockView;
import team.chisel.ctm.api.IFacade;
@@ -18,10 +18,18 @@
package appeng.integration.modules.jei;
import appeng.api.config.CondenserOutput;
import appeng.core.Api;
import appeng.core.AppEng;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import com.google.common.base.Splitter;
import net.minecraft.text.LiteralText;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.Identifier;
import net.minecraft.util.Language;
import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.EntryStack;
@@ -30,15 +38,10 @@ import me.shedaniel.rei.api.widgets.Slot;
import me.shedaniel.rei.api.widgets.Tooltip;
import me.shedaniel.rei.api.widgets.Widgets;
import me.shedaniel.rei.gui.widget.Widget;
import net.minecraft.text.LiteralText;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.Identifier;
import net.minecraft.util.Language;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import appeng.api.config.CondenserOutput;
import appeng.core.Api;
import appeng.core.AppEng;
class CondenserCategory implements RecipeCategory<CondenserOutputDisplay> {
@@ -85,10 +88,12 @@ class CondenserCategory implements RecipeCategory<CondenserOutputDisplay> {
widgets.add(Widgets.createTexturedWidget(statesLocation, origin.x + 2, origin.y + 28, 241, 81, 14, 14));
widgets.add(Widgets.createTexturedWidget(statesLocation, origin.x + 78, origin.y + 28, 240, 240, 16, 16));
// FIXME IDrawableStatic progressDrawable = guiHelper.drawableBuilder(location, 178, 25, 6, 18).addPadding(0, 0, 70, 0)
// FIXME .build();
// FIXME this.progress = guiHelper.createAnimatedDrawable(progressDrawable, 40, IDrawableAnimated.StartDirection.BOTTOM,
// FIXME false);
// FIXME IDrawableStatic progressDrawable = guiHelper.drawableBuilder(location,
// 178, 25, 6, 18).addPadding(0, 0, 70, 0)
// FIXME .build();
// FIXME this.progress = guiHelper.createAnimatedDrawable(progressDrawable, 40,
// IDrawableAnimated.StartDirection.BOTTOM,
// FIXME false);
if (recipeDisplay.getType() == CondenserOutput.MATTER_BALLS) {
widgets.add(Widgets.createTexturedWidget(statesLocation, origin.x + 78, origin.y + 28, 16, 112, 14, 14));
@@ -98,28 +103,24 @@ class CondenserCategory implements RecipeCategory<CondenserOutputDisplay> {
widgets.add(Widgets.createDrawableWidget((helper, matrices, mouseX, mouseY, delta) -> {
Rectangle rect = new Rectangle(origin.x + 78, origin.y + 28, 16, 16);
if (rect.contains(mouseX, mouseY)) {
Tooltip.create(getTooltip(recipeDisplay.getType()).stream().map(LiteralText::new).collect(Collectors.toList()))
Tooltip.create(
getTooltip(recipeDisplay.getType()).stream().map(LiteralText::new).collect(Collectors.toList()))
.queue();
}
}));
Slot outputSlot = Widgets.createSlot(new Point(origin.x + 55, origin.y + 27))
.disableBackground()
.markOutput()
Slot outputSlot = Widgets.createSlot(new Point(origin.x + 55, origin.y + 27)).disableBackground().markOutput()
.entries(recipeDisplay.getOutputEntries());
widgets.add(outputSlot);
Slot storageCellSlot = Widgets.createSlot(new Point(origin.x + 51, origin.y + 1))
.disableBackground()
.markInput()
.entries(recipeDisplay.getViableStorageComponents());
Slot storageCellSlot = Widgets.createSlot(new Point(origin.x + 51, origin.y + 1)).disableBackground()
.markInput().entries(recipeDisplay.getViableStorageComponents());
widgets.add(storageCellSlot);
return widgets;
}
@Override
public int getDisplayWidth(CondenserOutputDisplay display) {
return 94 + 2 * PADDING;
@@ -1,19 +1,20 @@
package appeng.integration.modules.jei;
import appeng.core.Api;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Identifier;
import me.shedaniel.rei.api.EntryStack;
import me.shedaniel.rei.api.RecipeDisplay;
import appeng.api.config.CondenserOutput;
import appeng.api.definitions.IMaterials;
import appeng.api.implementations.items.IStorageComponent;
import appeng.core.Api;
import appeng.tile.misc.CondenserBlockEntity;
import me.shedaniel.rei.api.EntryStack;
import me.shedaniel.rei.api.RecipeDisplay;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Identifier;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class CondenserOutputDisplay implements RecipeDisplay {
@@ -25,9 +26,7 @@ public class CondenserOutputDisplay implements RecipeDisplay {
public CondenserOutputDisplay(CondenserOutput output) {
this.type = output;
this.output = Collections.singletonList(
EntryStack.create(getOutput(type))
);
this.output = Collections.singletonList(EntryStack.create(getOutput(type)));
this.viableStorageComponents = getViableStorageComponents(output);
}
@@ -72,7 +71,7 @@ public class CondenserOutputDisplay implements RecipeDisplay {
}
private void addViableComponent(CondenserOutput condenserOutput, List<EntryStack> viableComponents,
ItemStack itemStack) {
ItemStack itemStack) {
IStorageComponent comp = (IStorageComponent) itemStack.getItem();
int storage = comp.getBytes(itemStack) * CondenserBlockEntity.BYTE_MULTIPLIER;
if (storage >= condenserOutput.requiredPower) {
@@ -1,11 +1,13 @@
package appeng.integration.modules.jei;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.util.Identifier;
import me.shedaniel.rei.api.EntryStack;
import me.shedaniel.rei.plugin.crafting.DefaultCraftingCategory;
import appeng.core.AppEng;
import appeng.core.FacadeCreativeTab;
import me.shedaniel.rei.api.EntryStack;
import me.shedaniel.rei.plugin.crafting.DefaultCraftingCategory;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.util.Identifier;
/**
* A simple copy of the crafting category to separate out the facade recipes.
@@ -18,13 +18,10 @@
package appeng.integration.modules.jei;
import appeng.core.AppEng;
import appeng.core.FacadeCreativeTab;
import appeng.items.parts.FacadeItem;
import me.shedaniel.rei.api.ClientHelper;
import me.shedaniel.rei.api.EntryStack;
import me.shedaniel.rei.api.LiveRecipeGenerator;
import me.shedaniel.rei.plugin.crafting.DefaultShapedDisplay;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.recipe.Ingredient;
@@ -32,9 +29,14 @@ import net.minecraft.recipe.ShapedRecipe;
import net.minecraft.util.Identifier;
import net.minecraft.util.collection.DefaultedList;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import me.shedaniel.rei.api.ClientHelper;
import me.shedaniel.rei.api.EntryStack;
import me.shedaniel.rei.api.LiveRecipeGenerator;
import me.shedaniel.rei.plugin.crafting.DefaultShapedDisplay;
import appeng.core.AppEng;
import appeng.core.FacadeCreativeTab;
import appeng.items.parts.FacadeItem;
/**
* This plugin will dynamically add facade recipes for any item that can be
@@ -18,8 +18,15 @@
package appeng.integration.modules.jei;
import appeng.core.Api;
import appeng.core.AppEng;
import java.awt.*;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.text.LiteralText;
import net.minecraft.util.Identifier;
import net.minecraft.util.Language;
import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.EntryStack;
@@ -27,14 +34,9 @@ import me.shedaniel.rei.api.RecipeCategory;
import me.shedaniel.rei.api.widgets.Slot;
import me.shedaniel.rei.api.widgets.Widgets;
import me.shedaniel.rei.gui.widget.Widget;
import net.minecraft.text.LiteralText;
import net.minecraft.util.Identifier;
import net.minecraft.util.Language;
import java.awt.*;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import appeng.core.Api;
import appeng.core.AppEng;
class GrinderRecipeCategory implements RecipeCategory<GrinderRecipeWrapper> {
@@ -85,7 +87,8 @@ class GrinderRecipeCategory implements RecipeCategory<GrinderRecipeWrapper> {
// Add the input
List<EntryStack> input = recipe.getInputEntries().get(0);
widgets.add(Widgets.createSlot(new Point(bounds.x + 1, bounds.y + 1)).backgroundEnabled(false).markInput().entries(input));
widgets.add(Widgets.createSlot(new Point(bounds.x + 1, bounds.y + 1)).backgroundEnabled(false).markInput()
.entries(input));
// Add the output slots and their chances (if <100%)
List<EntryStack> output = recipe.getOutputEntries();
@@ -93,16 +96,14 @@ class GrinderRecipeCategory implements RecipeCategory<GrinderRecipeWrapper> {
DecimalFormat df = new DecimalFormat("###.##");
int offset = bounds.x + 101;
for (int i = 0; i < output.size(); i++) {
Slot slot = Widgets.createSlot(new Point(offset, bounds.y + 47))
.backgroundEnabled(false)
Slot slot = Widgets.createSlot(new Point(offset, bounds.y + 47)).backgroundEnabled(false)
.entry(output.get(i));
widgets.add(slot);
double chance = outputChances.get(i);
if (chance < 100) {
Point p = new Point(slot.getBounds().getCenterX(), slot.getBounds().getMaxY() + 2);
widgets.add(Widgets.createLabel(p, new LiteralText(df.format(chance) + "%"))
.shadow(false)
widgets.add(Widgets.createLabel(p, new LiteralText(df.format(chance) + "%")).shadow(false)
.color(Color.gray.getRGB()));
}
offset += 18;
@@ -18,21 +18,24 @@
package appeng.integration.modules.jei;
import appeng.recipes.handlers.GrinderOptionalResult;
import appeng.recipes.handlers.GrinderRecipe;
import com.google.common.collect.ImmutableList;
import me.shedaniel.rei.api.EntryStack;
import me.shedaniel.rei.api.TransferRecipeDisplay;
import me.shedaniel.rei.server.ContainerInfo;
import me.shedaniel.rei.utils.CollectionUtils;
import net.minecraft.screen.ScreenHandler;
import net.minecraft.util.Identifier;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import com.google.common.collect.ImmutableList;
import net.minecraft.screen.ScreenHandler;
import net.minecraft.util.Identifier;
import me.shedaniel.rei.api.EntryStack;
import me.shedaniel.rei.api.TransferRecipeDisplay;
import me.shedaniel.rei.server.ContainerInfo;
import me.shedaniel.rei.utils.CollectionUtils;
import appeng.recipes.handlers.GrinderOptionalResult;
import appeng.recipes.handlers.GrinderRecipe;
class GrinderRecipeWrapper implements TransferRecipeDisplay {
private final GrinderRecipe recipe;
@@ -42,7 +45,8 @@ class GrinderRecipeWrapper implements TransferRecipeDisplay {
public GrinderRecipeWrapper(GrinderRecipe recipe) {
this.recipe = recipe;
this.input = CollectionUtils.map(recipe.getPreviewInputs(), i -> CollectionUtils.map(i.getMatchingStacksClient(), EntryStack::create));
this.input = CollectionUtils.map(recipe.getPreviewInputs(),
i -> CollectionUtils.map(i.getMatchingStacksClient(), EntryStack::create));
List<EntryStack> outputs = new ArrayList<>();
List<Double> outputChances = new ArrayList<>();
@@ -97,7 +101,8 @@ class GrinderRecipeWrapper implements TransferRecipeDisplay {
}
@Override
public List<List<EntryStack>> getOrganisedInputEntries(ContainerInfo<ScreenHandler> containerInfo, ScreenHandler container) {
public List<List<EntryStack>> getOrganisedInputEntries(ContainerInfo<ScreenHandler> containerInfo,
ScreenHandler container) {
return input;
}
@@ -18,20 +18,23 @@
package appeng.integration.modules.jei;
import appeng.core.Api;
import appeng.core.AppEng;
import java.util.ArrayList;
import java.util.List;
import com.google.common.collect.ImmutableList;
import net.minecraft.util.Identifier;
import net.minecraft.util.Language;
import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.EntryStack;
import me.shedaniel.rei.api.RecipeCategory;
import me.shedaniel.rei.api.widgets.Widgets;
import me.shedaniel.rei.gui.widget.Widget;
import net.minecraft.util.Identifier;
import net.minecraft.util.Language;
import java.util.ArrayList;
import java.util.List;
import appeng.core.Api;
import appeng.core.AppEng;
class InscriberRecipeCategory implements RecipeCategory<InscriberRecipeWrapper> {
@@ -76,21 +79,13 @@ class InscriberRecipeCategory implements RecipeCategory<InscriberRecipeWrapper>
List<List<EntryStack>> ingredients = recipeDisplay.getInputEntries();
EntryStack output = recipeDisplay.getOutputEntries().get(0);
widgets.add(Widgets.createSlot(new Point(bounds.x + 1, bounds.y + 1))
.disableBackground()
.markInput()
widgets.add(Widgets.createSlot(new Point(bounds.x + 1, bounds.y + 1)).disableBackground().markInput()
.entries(ingredients.get(SLOT_INPUT_TOP)));
widgets.add(Widgets.createSlot(new Point(bounds.x + 19, bounds.y + 24))
.disableBackground()
.markInput()
widgets.add(Widgets.createSlot(new Point(bounds.x + 19, bounds.y + 24)).disableBackground().markInput()
.entries(ingredients.get(SLOT_INPUT_MIDDLE)));
widgets.add(Widgets.createSlot(new Point(bounds.x + 1, bounds.y + 47))
.disableBackground()
.markInput()
widgets.add(Widgets.createSlot(new Point(bounds.x + 1, bounds.y + 47)).disableBackground().markInput()
.entries(ingredients.get(SLOT_INPUT_BOTTOM)));
widgets.add(Widgets.createSlot(new Point(bounds.x + 69, bounds.y + 25))
.disableBackground()
.markOutput()
widgets.add(Widgets.createSlot(new Point(bounds.x + 69, bounds.y + 25)).disableBackground().markOutput()
.entry(output));
return widgets;
@@ -18,17 +18,20 @@
package appeng.integration.modules.jei;
import appeng.recipes.handlers.InscriberRecipe;
import java.util.List;
import java.util.Optional;
import com.google.common.collect.ImmutableList;
import net.minecraft.screen.ScreenHandler;
import net.minecraft.util.Identifier;
import me.shedaniel.rei.api.EntryStack;
import me.shedaniel.rei.api.TransferRecipeDisplay;
import me.shedaniel.rei.server.ContainerInfo;
import me.shedaniel.rei.utils.CollectionUtils;
import net.minecraft.screen.ScreenHandler;
import net.minecraft.util.Identifier;
import java.util.List;
import java.util.Optional;
import appeng.recipes.handlers.InscriberRecipe;
class InscriberRecipeWrapper implements TransferRecipeDisplay {
@@ -42,15 +45,14 @@ class InscriberRecipeWrapper implements TransferRecipeDisplay {
this.recipe = recipe;
this.topOptional = CollectionUtils.map(recipe.getTopOptional().getMatchingStacksClient(), EntryStack::create);
this.middleInput = CollectionUtils.map(recipe.getMiddleInput().getMatchingStacksClient(), EntryStack::create);
this.bottomOptional = CollectionUtils.map(recipe.getBottomOptional().getMatchingStacksClient(), EntryStack::create);
this.bottomOptional = CollectionUtils.map(recipe.getBottomOptional().getMatchingStacksClient(),
EntryStack::create);
this.output = EntryStack.create(recipe.getOutput());
}
@Override
public List<List<EntryStack>> getInputEntries() {
return ImmutableList.of(
topOptional, middleInput, bottomOptional
);
return ImmutableList.of(topOptional, middleInput, bottomOptional);
}
@Override
@@ -84,7 +86,8 @@ class InscriberRecipeWrapper implements TransferRecipeDisplay {
}
@Override
public List<List<EntryStack>> getOrganisedInputEntries(ContainerInfo<ScreenHandler> containerInfo, ScreenHandler container) {
public List<List<EntryStack>> getOrganisedInputEntries(ContainerInfo<ScreenHandler> containerInfo,
ScreenHandler container) {
return getInputEntries();
}
@@ -18,22 +18,24 @@
package appeng.integration.modules.jei;
import appeng.container.slot.CraftingMatrixSlot;
import appeng.container.slot.FakeCraftingMatrixSlot;
import appeng.core.sync.network.NetworkHandler;
import appeng.core.sync.packets.JEIRecipePacket;
import appeng.mixins.SlotMixin;
import appeng.util.Platform;
import me.shedaniel.rei.api.AutoTransferHandler;
import me.shedaniel.rei.api.EntryStack;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.ListTag;
import net.minecraft.screen.ScreenHandler;
import net.minecraft.screen.slot.Slot;
import java.util.ArrayList;
import java.util.List;
import me.shedaniel.rei.api.AutoTransferHandler;
import me.shedaniel.rei.api.EntryStack;
import appeng.container.slot.CraftingMatrixSlot;
import appeng.container.slot.FakeCraftingMatrixSlot;
import appeng.core.sync.network.NetworkHandler;
import appeng.core.sync.packets.JEIRecipePacket;
import appeng.mixins.SlotMixin;
import appeng.util.Platform;
class RecipeTransferHandler<T extends ScreenHandler> implements AutoTransferHandler {
@@ -18,7 +18,18 @@
package appeng.integration.modules.jei;
import appeng.core.Api;
import java.util.Arrays;
import java.util.stream.Collectors;
import net.minecraft.item.ItemStack;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.Identifier;
import me.shedaniel.rei.api.EntryStack;
import me.shedaniel.rei.api.RecipeHelper;
import me.shedaniel.rei.api.plugins.REIPluginV0;
import me.shedaniel.rei.plugin.information.DefaultInformationDisplay;
import appeng.api.config.CondenserOutput;
import appeng.api.definitions.IDefinitions;
import appeng.api.definitions.IItemDefinition;
@@ -27,22 +38,13 @@ import appeng.api.features.AEFeature;
import appeng.container.implementations.CraftingTermContainer;
import appeng.container.implementations.PatternTermContainer;
import appeng.core.AEConfig;
import appeng.core.Api;
import appeng.core.AppEng;
import appeng.core.localization.GuiText;
import appeng.integration.abstraction.ReiFacade;
import appeng.items.parts.FacadeItem;
import appeng.recipes.handlers.GrinderRecipe;
import appeng.recipes.handlers.InscriberRecipe;
import me.shedaniel.rei.api.EntryStack;
import me.shedaniel.rei.api.RecipeHelper;
import me.shedaniel.rei.api.plugins.REIPluginV0;
import me.shedaniel.rei.plugin.information.DefaultInformationDisplay;
import net.minecraft.item.ItemStack;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.Identifier;
import java.util.Arrays;
import java.util.stream.Collectors;
public class ReiPlugin implements REIPluginV0 {
private static final Identifier ID = new Identifier(AppEng.MOD_ID, "core");
@@ -52,12 +54,13 @@ public class ReiPlugin implements REIPluginV0 {
return ID;
}
// FIXME FABRIC @Override
// FIXME FABRIC public void registerItemSubtypes(ISubtypeRegistration subtypeRegistry) {
// FIXME FABRIC final Optional<Item> maybeFacade = AEApi.instance().definitions().items().facade().maybeItem();
// FIXME FABRIC maybeFacade.ifPresent(subtypeRegistry::useNbtForSubtypes);
// FIXME FABRIC }
// FIXME FABRIC @Override
// FIXME FABRIC public void registerItemSubtypes(ISubtypeRegistration
// subtypeRegistry) {
// FIXME FABRIC final Optional<Item> maybeFacade =
// AEApi.instance().definitions().items().facade().maybeItem();
// FIXME FABRIC maybeFacade.ifPresent(subtypeRegistry::useNbtForSubtypes);
// FIXME FABRIC }
@Override
public void registerPluginCategories(RecipeHelper recipeHelper) {
@@ -90,9 +93,7 @@ public class ReiPlugin implements REIPluginV0 {
IDefinitions definitions = Api.instance().definitions();
recipeHelper.registerLiveRecipeGenerator(new FacadeRegistryGenerator(
(FacadeItem) definitions.items().facade().item(),
definitions.parts().cableAnchor().stack(1)
));
(FacadeItem) definitions.items().facade().item(), definitions.parts().cableAnchor().stack(1)));
}
@Override
@@ -121,20 +122,17 @@ public class ReiPlugin implements REIPluginV0 {
final String[] message;
if (AEConfig.instance().isFeatureEnabled(AEFeature.CERTUS_QUARTZ_WORLD_GEN)) {
message = new String[]{GuiText.ChargedQuartz.getTranslationKey(), "",
GuiText.ChargedQuartzFind.getTranslationKey()};
message = new String[] { GuiText.ChargedQuartz.getTranslationKey(), "",
GuiText.ChargedQuartzFind.getTranslationKey() };
} else {
message = new String[]{GuiText.ChargedQuartzFind.getTranslationKey()};
message = new String[] { GuiText.ChargedQuartzFind.getTranslationKey() };
}
addDescription(materials.certusQuartzCrystalCharged(), message);
if (AEConfig.instance().isFeatureEnabled(AEFeature.METEORITE_WORLD_GEN)) {
addDescription(materials.logicProcessorPress(),
GuiText.inWorldCraftingPresses.getTranslationKey());
addDescription(materials.calcProcessorPress(),
GuiText.inWorldCraftingPresses.getTranslationKey());
addDescription(materials.engProcessorPress(),
GuiText.inWorldCraftingPresses.getTranslationKey());
addDescription(materials.logicProcessorPress(), GuiText.inWorldCraftingPresses.getTranslationKey());
addDescription(materials.calcProcessorPress(), GuiText.inWorldCraftingPresses.getTranslationKey());
addDescription(materials.engProcessorPress(), GuiText.inWorldCraftingPresses.getTranslationKey());
}
if (AEConfig.instance().isFeatureEnabled(AEFeature.IN_WORLD_FLUIX)) {
@@ -150,17 +148,14 @@ public class ReiPlugin implements REIPluginV0 {
GuiText.inWorldPurificationCertus.getTranslationKey());
addDescription(materials.purifiedNetherQuartzCrystal(),
GuiText.inWorldPurificationNether.getTranslationKey());
addDescription(materials.purifiedFluixCrystal(),
GuiText.inWorldPurificationFluix.getTranslationKey());
addDescription(materials.purifiedFluixCrystal(), GuiText.inWorldPurificationFluix.getTranslationKey());
}
}
private static void addDescription(IItemDefinition itemDefinition, String... message) {
DefaultInformationDisplay info = DefaultInformationDisplay.createFromEntry(
EntryStack.create(itemDefinition),
itemDefinition.item().getName()
);
DefaultInformationDisplay info = DefaultInformationDisplay.createFromEntry(EntryStack.create(itemDefinition),
itemDefinition.item().getName());
info.lines(Arrays.stream(message).map(TranslatableText::new).collect(Collectors.toList()));
RecipeHelper.getInstance().registerDisplay(info);
}
@@ -18,18 +18,19 @@
package appeng.integration.modules.waila;
import java.util.List;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.text.Text;
import net.minecraft.world.World;
import mcp.mobius.waila.api.IComponentProvider;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import mcp.mobius.waila.api.IServerDataProvider;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.text.Text;
import net.minecraft.world.World;
import java.util.List;
/**
* Base implementation for {@link mcp.mobius.waila.api.IComponentProvider}
@@ -18,24 +18,27 @@
package appeng.integration.modules.waila;
import appeng.api.parts.IPart;
import appeng.api.parts.PartItemStack;
import appeng.integration.modules.waila.part.*;
import java.util.List;
import java.util.Optional;
import com.google.common.collect.Lists;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.text.LiteralText;
import net.minecraft.text.Text;
import net.minecraft.util.hit.HitResult;
import net.minecraft.world.World;
import mcp.mobius.waila.Waila;
import mcp.mobius.waila.api.*;
import mcp.mobius.waila.api.impl.config.WailaConfig;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.text.LiteralText;
import net.minecraft.util.hit.HitResult;
import net.minecraft.text.Text;
import net.minecraft.world.World;
import java.util.List;
import java.util.Optional;
import appeng.api.parts.IPart;
import appeng.api.parts.PartItemStack;
import appeng.integration.modules.waila.part.*;
/**
* Delegation provider for parts through {@link IPartWailaDataProvider}
@@ -95,8 +98,7 @@ public final class PartWailaDataProvider implements IComponentProvider, IServerD
}
@Override
public void appendHead(List<Text> currentToolTip, final IDataAccessor accessor,
final IPluginConfig config) {
public void appendHead(List<Text> currentToolTip, final IDataAccessor accessor, final IPluginConfig config) {
final BlockEntity te = accessor.getBlockEntity();
final HitResult mop = accessor.getHitResult();
@@ -18,23 +18,26 @@
package appeng.integration.modules.waila;
import appeng.integration.modules.waila.tile.ChargerWailaDataProvider;
import appeng.integration.modules.waila.tile.CraftingMonitorWailaDataProvider;
import appeng.integration.modules.waila.tile.PowerStateWailaDataProvider;
import appeng.integration.modules.waila.tile.PowerStorageWailaDataProvider;
import java.util.List;
import com.google.common.collect.Lists;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.text.Text;
import net.minecraft.world.World;
import mcp.mobius.waila.api.IComponentProvider;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import mcp.mobius.waila.api.IServerDataProvider;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.text.Text;
import net.minecraft.world.World;
import java.util.List;
import appeng.integration.modules.waila.tile.ChargerWailaDataProvider;
import appeng.integration.modules.waila.tile.CraftingMonitorWailaDataProvider;
import appeng.integration.modules.waila.tile.PowerStateWailaDataProvider;
import appeng.integration.modules.waila.tile.PowerStorageWailaDataProvider;
/**
* Delegation provider for tiles through
@@ -68,24 +71,21 @@ public final class TileWailaDataProvider implements IComponentProvider, IServerD
}
@Override
public void appendHead(List<Text> currentToolTip, final IDataAccessor accessor,
final IPluginConfig config) {
public void appendHead(List<Text> currentToolTip, final IDataAccessor accessor, final IPluginConfig config) {
for (final BaseWailaDataProvider provider : this.providers) {
provider.appendHead(currentToolTip, accessor, config);
}
}
@Override
public void appendBody(List<Text> currentToolTip, final IDataAccessor accessor,
final IPluginConfig config) {
public void appendBody(List<Text> currentToolTip, final IDataAccessor accessor, final IPluginConfig config) {
for (final BaseWailaDataProvider provider : this.providers) {
provider.appendBody(currentToolTip, accessor, config);
}
}
@Override
public void appendTail(List<Text> currentToolTip, final IDataAccessor accessor,
final IPluginConfig config) {
public void appendTail(List<Text> currentToolTip, final IDataAccessor accessor, final IPluginConfig config) {
for (final BaseWailaDataProvider provider : this.providers) {
provider.appendTail(currentToolTip, accessor, config);
}
@@ -18,9 +18,10 @@
package appeng.integration.modules.waila;
import appeng.tile.AEBaseBlockEntity;
import mcp.mobius.waila.api.*;
import appeng.tile.AEBaseBlockEntity;
public class WailaModule implements IWailaPlugin {
public void register(final IRegistrar registrar) {
@@ -18,22 +18,23 @@
package appeng.integration.modules.waila.part;
import appeng.api.parts.IPart;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.text.Text;
import net.minecraft.world.World;
import java.util.List;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.text.Text;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import appeng.api.parts.IPart;
/**
* Default implementation of
* {@link IPartWailaDataProvider}
* Default implementation of {@link IPartWailaDataProvider}
*
* @author thatsIch
* @version rv2
@@ -47,21 +48,21 @@ public abstract class BasePartWailaDataProvider implements IPartWailaDataProvide
@Override
public void appendHead(final IPart part, final List<Text> tooltip, final IDataAccessor accessor,
final IPluginConfig config) {
final IPluginConfig config) {
}
@Override
public void appendBody(final IPart part, final List<Text> tooltip, final IDataAccessor accessor,
final IPluginConfig config) {
final IPluginConfig config) {
}
@Override
public void appendTail(final IPart part, final List<Text> tooltip, final IDataAccessor accessor,
final IPluginConfig config) {
final IPluginConfig config) {
}
@Override
public void appendServerData(ServerPlayerEntity player, IPart part, BlockEntity te, CompoundTag tag, World world,
BlockPos pos) {
BlockPos pos) {
}
}
@@ -18,22 +18,24 @@
package appeng.integration.modules.waila.part;
import appeng.api.parts.IPart;
import appeng.core.localization.WailaText;
import appeng.parts.networking.SmartCablePart;
import appeng.parts.networking.SmartDenseCablePart;
import java.util.List;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.text.Text;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import it.unimi.dsi.fastutil.objects.Object2ByteMap;
import it.unimi.dsi.fastutil.objects.Object2ByteOpenHashMap;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.text.Text;
import net.minecraft.world.World;
import java.util.List;
import appeng.api.parts.IPart;
import appeng.core.localization.WailaText;
import appeng.parts.networking.SmartCablePart;
import appeng.parts.networking.SmartDenseCablePart;
/**
* Channel-information provider for WAILA
@@ -69,7 +71,7 @@ public final class ChannelWailaDataProvider extends BasePartWailaDataProvider {
*/
@Override
public void appendBody(final IPart part, final List<Text> tooltip, final IDataAccessor accessor,
final IPluginConfig config) {
final IPluginConfig config) {
if (part instanceof SmartCablePart || part instanceof SmartDenseCablePart) {
final CompoundTag tag = accessor.getServerData();
@@ -127,7 +129,7 @@ public final class ChannelWailaDataProvider extends BasePartWailaDataProvider {
*/
@Override
public void appendServerData(ServerPlayerEntity player, IPart part, BlockEntity te, CompoundTag tag, World world,
BlockPos pos) {
BlockPos pos) {
if (part instanceof SmartCablePart || part instanceof SmartDenseCablePart) {
final CompoundTag tempTag = new CompoundTag();
@@ -18,23 +18,23 @@
package appeng.integration.modules.waila.part;
import appeng.api.parts.IPart;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.text.Text;
import net.minecraft.world.World;
import java.util.List;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.text.Text;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import appeng.api.parts.IPart;
/**
* An abstraction layer of the
* {@link IPartWailaDataProvider} for
* {@link IPart}.
* An abstraction layer of the {@link IPartWailaDataProvider} for {@link IPart}.
*
* @author thatsIch
* @version rv2
@@ -50,5 +50,5 @@ public interface IPartWailaDataProvider {
void appendTail(IPart part, List<Text> tooltip, IDataAccessor accessor, IPluginConfig config);
void appendServerData(ServerPlayerEntity player, IPart part, BlockEntity te, CompoundTag tag, World world,
BlockPos pos);
BlockPos pos);
}
@@ -18,23 +18,26 @@
package appeng.integration.modules.waila.part;
import java.util.List;
import com.google.common.collect.Iterators;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.text.Text;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import appeng.api.parts.IPart;
import appeng.core.localization.WailaText;
import appeng.me.GridAccessException;
import appeng.parts.p2p.P2PTunnelPart;
import appeng.util.Platform;
import com.google.common.collect.Iterators;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.text.TranslatableText;
import net.minecraft.util.math.BlockPos;
import net.minecraft.text.Text;
import net.minecraft.world.World;
import java.util.List;
/**
* Provides information about a P2P tunnel to WAILA.
@@ -57,7 +60,7 @@ public final class P2PStateWailaDataProvider extends BasePartWailaDataProvider {
*/
@Override
public void appendBody(final IPart part, final List<Text> tooltip, final IDataAccessor accessor,
final IPluginConfig config) {
final IPluginConfig config) {
if (part instanceof P2PTunnelPart) {
CompoundTag nbtData = accessor.getServerData();
if (nbtData.contains(TAG_P2P_STATE)) {
@@ -88,7 +91,7 @@ public final class P2PStateWailaDataProvider extends BasePartWailaDataProvider {
@Override
public void appendServerData(ServerPlayerEntity player, IPart part, BlockEntity te, CompoundTag tag, World world,
BlockPos pos) {
BlockPos pos) {
if (part instanceof P2PTunnelPart) {
final P2PTunnelPart<?> tunnel = (P2PTunnelPart<?>) part;
@@ -18,16 +18,17 @@
package appeng.integration.modules.waila.part;
import java.util.Optional;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.hit.HitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;
import appeng.api.parts.IPart;
import appeng.api.parts.IPartHost;
import appeng.api.parts.SelectedPart;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.hit.HitResult;
import net.minecraft.util.math.Vec3d;
import java.util.Optional;
/**
* Accessor to access specific parts for WAILA
@@ -18,10 +18,12 @@
package appeng.integration.modules.waila.part;
import net.minecraft.item.ItemStack;
import mcp.mobius.waila.api.IPluginConfig;
import appeng.api.parts.IPart;
import appeng.api.parts.PartItemStack;
import mcp.mobius.waila.api.IPluginConfig;
import net.minecraft.item.ItemStack;
/**
* Part ItemStack provider for WAILA
@@ -18,14 +18,16 @@
package appeng.integration.modules.waila.part;
import java.util.List;
import net.minecraft.text.Text;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import appeng.api.implementations.IPowerChannelState;
import appeng.api.parts.IPart;
import appeng.core.localization.WailaText;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import net.minecraft.text.Text;
import java.util.List;
/**
* Power state provider for WAILA
@@ -45,7 +47,7 @@ public final class PowerStateWailaDataProvider extends BasePartWailaDataProvider
*/
@Override
public void appendBody(final IPart part, final List<Text> tooltip, final IDataAccessor accessor,
final IPluginConfig config) {
final IPluginConfig config) {
if (part instanceof IPowerChannelState) {
final IPowerChannelState state = (IPowerChannelState) part;
@@ -18,17 +18,19 @@
package appeng.integration.modules.waila.part;
import java.util.List;
import net.minecraft.text.Text;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import appeng.api.implementations.parts.IStorageMonitorPart;
import appeng.api.parts.IPart;
import appeng.api.storage.data.IAEFluidStack;
import appeng.api.storage.data.IAEItemStack;
import appeng.api.storage.data.IAEStack;
import appeng.core.localization.WailaText;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import net.minecraft.text.Text;
import java.util.List;
/**
* Storage monitor provider for WAILA
@@ -49,7 +51,7 @@ public final class StorageMonitorWailaDataProvider extends BasePartWailaDataProv
*/
@Override
public void appendBody(final IPart part, final List<Text> tooltip, final IDataAccessor accessor,
final IPluginConfig config) {
final IPluginConfig config) {
if (part instanceof IStorageMonitorPart) {
final IStorageMonitorPart monitor = (IStorageMonitorPart) part;
@@ -59,12 +61,11 @@ public final class StorageMonitorWailaDataProvider extends BasePartWailaDataProv
// TODO: generalize
if (displayed instanceof IAEItemStack) {
final IAEItemStack ais = (IAEItemStack) displayed;
tooltip.add(WailaText.Showing.text().copy().append(": ")
.append(ais.asItemStackRepresentation().getName()));
tooltip.add(
WailaText.Showing.text().copy().append(": ").append(ais.asItemStackRepresentation().getName()));
} else if (displayed instanceof IAEFluidStack) {
final IAEFluidStack ais = (IAEFluidStack) displayed;
tooltip.add(WailaText.Showing.text().copy().append(": ")
.append(ais.getFluidStack().getName()));
tooltip.add(WailaText.Showing.text().copy().append(": ").append(ais.getFluidStack().getName()));
}
tooltip.add((isLocked) ? WailaText.Locked.text() : WailaText.Unlocked.text());
@@ -18,16 +18,17 @@
package appeng.integration.modules.waila.part;
import appeng.util.LookDirection;
import appeng.util.Platform;
import net.minecraft.block.BlockState;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.hit.HitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.World;
import appeng.util.LookDirection;
import appeng.util.Platform;
/**
* Tracer for players hitting blocks
*
@@ -18,20 +18,22 @@
package appeng.integration.modules.waila.tile;
import alexiil.mc.lib.attributes.item.FixedItemInvView;
import appeng.core.localization.WailaText;
import appeng.integration.modules.waila.BaseWailaDataProvider;
import appeng.tile.misc.ChargerBlockEntity;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import java.util.List;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.item.TooltipContext;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.text.Text;
import java.util.List;
import alexiil.mc.lib.attributes.item.FixedItemInvView;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import appeng.core.localization.WailaText;
import appeng.integration.modules.waila.BaseWailaDataProvider;
import appeng.tile.misc.ChargerBlockEntity;
/**
* Charger provider for WAILA
@@ -18,16 +18,18 @@
package appeng.integration.modules.waila.tile;
import java.util.List;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.text.Text;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import appeng.api.storage.data.IAEItemStack;
import appeng.core.localization.WailaText;
import appeng.integration.modules.waila.BaseWailaDataProvider;
import appeng.tile.crafting.CraftingMonitorBlockEntity;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.text.Text;
import java.util.List;
/**
* Crafting-monitor provider for WAILA
@@ -18,15 +18,17 @@
package appeng.integration.modules.waila.tile;
import appeng.api.implementations.IPowerChannelState;
import appeng.core.localization.WailaText;
import appeng.integration.modules.waila.BaseWailaDataProvider;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import java.util.List;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.text.Text;
import java.util.List;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import appeng.api.implementations.IPowerChannelState;
import appeng.core.localization.WailaText;
import appeng.integration.modules.waila.BaseWailaDataProvider;
/**
* Power state provider for WAILA
@@ -18,21 +18,23 @@
package appeng.integration.modules.waila.tile;
import appeng.api.networking.energy.IAEPowerStorage;
import appeng.core.localization.WailaText;
import appeng.integration.modules.waila.BaseWailaDataProvider;
import appeng.util.Platform;
import java.util.List;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.text.Text;
import net.minecraft.world.World;
import it.unimi.dsi.fastutil.objects.Object2LongMap;
import it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap;
import mcp.mobius.waila.api.IDataAccessor;
import mcp.mobius.waila.api.IPluginConfig;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.text.Text;
import net.minecraft.world.World;
import java.util.List;
import appeng.api.networking.energy.IAEPowerStorage;
import appeng.core.localization.WailaText;
import appeng.integration.modules.waila.BaseWailaDataProvider;
import appeng.util.Platform;
/**
* Power storage provider for WAILA
@@ -90,8 +92,8 @@ public final class PowerStorageWailaDataProvider extends BaseWailaDataProvider {
* Called on server to transfer information from server to client.
* <p/>
* If the {@link net.minecraft.block.entity.BlockEntity} is a
* {@link IAEPowerStorage}, it writes the power
* information to the {@code #tag} using the {@code #ID_CURRENT_POWER} key.
* {@link IAEPowerStorage}, it writes the power information to the {@code #tag}
* using the {@code #ID_CURRENT_POWER} key.
*
* @param serverPlayerEntity player looking at the power storage
* @param te power storage