Skip to content

Commit

Permalink
Merge pull request #69 from asdflj/bookmark
Browse files Browse the repository at this point in the history
add fluid storage monitor
  • Loading branch information
Dream-Master authored Jan 25, 2023
2 parents e424230 + 3f35dad commit 4d236cb
Show file tree
Hide file tree
Showing 28 changed files with 9,826 additions and 15 deletions.
4 changes: 2 additions & 2 deletions dependencies.gradle
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
// Add your dependencies here

dependencies {
compile('com.github.GTNewHorizons:NotEnoughItems:2.3.20-GTNH:dev')
compile('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-143-GTNH:dev')
compile('com.github.GTNewHorizons:NotEnoughItems:2.3.21-GTNH:dev')
compile('com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-148-GTNH-pre:dev')
compile('curse.maven:cofh-core-69162:2388751')
compile('com.github.GTNewHorizons:waila:1.5.22:dev')
compileOnly('com.github.GTNewHorizons:ExtraCells2:2.5.25:dev') { transitive = false }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import appeng.client.gui.widgets.GuiScrollbar;
import appeng.core.AELog;
import appeng.core.localization.GuiText;
import appeng.integration.modules.NEI;
import appeng.util.Platform;
import com.glodblock.github.FluidCraft;
import com.glodblock.github.client.gui.container.ContainerFluidCraftConfirm;
Expand Down Expand Up @@ -483,6 +484,7 @@ protected void actionPerformed(final GuiButton btn) {
}

if (btn == this.cancel) {
this.addMissingItemsToBookMark();
FluidCraft.proxy.netHandler.sendToServer(new CPacketSwitchGuis(this.OriginalGui));
}

Expand All @@ -509,4 +511,24 @@ protected void addItemTooltip(ItemStack is, List<String> lineList) {
public ItemStack getHoveredStack() {
return hoveredStack;
}

protected void addMissingItemsToBookMark() {
if (!this.missing.isEmpty() && isShiftKeyDown()) {
for (IAEItemStack iaeItemStack : this.missing) {
NEI.instance.addItemToBookMark(iaeItemStack.getItemStack());
}
}
}

public IItemList<IAEItemStack> getStorage() {
return this.storage;
}

public IItemList<IAEItemStack> getPending() {
return this.pending;
}

public IItemList<IAEItemStack> getMissing() {
return this.missing;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ public GuiFluidTerminal(InventoryPlayer inventoryPlayer, ITerminalHost te) {
super(inventoryPlayer, te, new ContainerFluidMonitor(inventoryPlayer, te));
this.container = new ContainerFluidMonitor(inventoryPlayer, te);
this.player = inventoryPlayer.player;
this.showViewBtn = false;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ public abstract class FCGuiMonitor<T extends IAEStack<T>> extends AEBaseMEGui
protected int perRow = 9;
protected int reservedSpace = 0;
protected boolean customSortOrder = true;
protected boolean showViewBtn = true;
protected int rows = 0;
protected int maxRows = Integer.MAX_VALUE;
protected int standardSize;
Expand Down Expand Up @@ -204,6 +205,49 @@ public void initGui() {
this.guiLeft - 18, offset, Settings.SORT_BY, this.configSrc.getSetting(Settings.SORT_BY)));
offset += 20;
}
if (this.showViewBtn) {
this.buttonList.add(
this.ViewBox = new GuiImgButton(
this.guiLeft - 18,
offset,
Settings.VIEW_MODE,
this.configSrc.getSetting(Settings.VIEW_MODE)));
offset += 20;
}

this.buttonList.add(
this.SortDirBox = new GuiImgButton(
this.guiLeft - 18,
offset,
Settings.SORT_DIRECTION,
this.configSrc.getSetting(Settings.SORT_DIRECTION)));
offset += 20;

this.buttonList.add(
this.searchBoxSettings = new GuiImgButton(
this.guiLeft - 18,
offset,
Settings.SEARCH_MODE,
AEConfig.instance.settings.getSetting(Settings.SEARCH_MODE)));
offset += 20;

if (ModAndClassUtil.isSaveText) {
this.buttonList.add(
this.searchStringSave = new GuiImgButton(
this.guiLeft - 18,
offset,
Settings.SAVE_SEARCH,
AEConfig.instance.preserveSearchBar ? YesNo.YES : YesNo.NO));
offset += 20;
}

this.buttonList.add(
this.terminalStyleBox = new GuiImgButton(
this.guiLeft - 18,
offset,
Settings.TERMINAL_STYLE,
AEConfig.instance.settings.getSetting(Settings.TERMINAL_STYLE)));
offset += 20;

this.searchField = new FCGuiTextField(
this.fontRendererObj, this.guiLeft + Math.max(80, this.offsetX), this.guiTop + 4, 90, 12);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
package com.glodblock.github.client.render;

import com.glodblock.github.FluidCraft;
import com.glodblock.github.common.tile.TileWalrus;
import com.glodblock.github.loader.ItemAndBlockHolder;
import cpw.mods.fml.client.registry.ClientRegistry;
import net.minecraft.client.Minecraft;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.IItemRenderer;
import net.minecraftforge.client.MinecraftForgeClient;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.opengl.GL11;

public class ItemWalrusRender implements IItemRenderer {
IModelCustom modelWalrus = AdvancedModelLoader.loadModel(FluidCraft.resource("models/walrus.obj"));
ResourceLocation textureWalrus = FluidCraft.resource("textures/blocks/walrus.png");

public ItemWalrusRender() {
ClientRegistry.bindTileEntitySpecialRenderer(TileWalrus.class, new RenderBlockWalrus());
MinecraftForgeClient.registerItemRenderer(Item.getItemFromBlock(ItemAndBlockHolder.WALRUS), this);
}

@Override
public boolean handleRenderType(ItemStack item, IItemRenderer.ItemRenderType type) {
return true;
}

@Override
public void renderItem(IItemRenderer.ItemRenderType type, ItemStack item, Object... data) {
Minecraft.getMinecraft().renderEngine.bindTexture(this.textureWalrus);
GL11.glPushMatrix();
switch (type) {
case ENTITY:
break;
case EQUIPPED:
break;
case EQUIPPED_FIRST_PERSON:
GL11.glRotated(180, 0, 1, 0);
GL11.glTranslatef(-1F, 0.5F, -0.5F);
break;
case FIRST_PERSON_MAP:
break;
case INVENTORY:
GL11.glTranslatef(-0.5F, -0.5F, -0.1F);
break;
default:
break;
}
this.modelWalrus.renderAll();
GL11.glPopMatrix();
}

@Override
public boolean shouldUseRenderHelper(
IItemRenderer.ItemRenderType type, ItemStack item, IItemRenderer.ItemRendererHelper helper) {
return true;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.glodblock.github.client.render;

import com.glodblock.github.FluidCraft;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.AdvancedModelLoader;
import net.minecraftforge.client.model.IModelCustom;
import org.lwjgl.opengl.GL11;

public class RenderBlockWalrus extends TileEntitySpecialRenderer {
IModelCustom modelWalrus = AdvancedModelLoader.loadModel(FluidCraft.resource("models/walrus.obj"));
ResourceLocation textureWalrus = FluidCraft.resource("textures/blocks/walrus.png");

@Override
public void renderTileEntityAt(TileEntity tileentity, double x, double y, double z, float partialTickTime) {
Minecraft.getMinecraft().renderEngine.bindTexture(this.textureWalrus);
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5, y, z + 0.5);
int orientation = tileentity.getBlockMetadata();
if (orientation == 4) {
GL11.glRotatef(90, 0, 1, 0);
} else if (orientation == 5) {
GL11.glRotatef(-90, 0, 1, 0);
} else if (orientation == 3) {
GL11.glRotatef(180, 0, 1, 0);
}
this.modelWalrus.renderAll();
GL11.glPopMatrix();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package com.glodblock.github.common.block;

import java.util.List;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;

public abstract class BaseBlockContainer extends BlockContainer {

public BaseBlockContainer(Material p_i45386_1_) {
super(p_i45386_1_);
}

public void addInformation(
ItemStack itemStack, EntityPlayer player, List<String> toolTip, boolean advancedToolTips) {}
}
115 changes: 115 additions & 0 deletions src/main/java/com/glodblock/github/common/block/BlockWalrus.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
package com.glodblock.github.common.block;

import static net.minecraft.client.gui.GuiScreen.isShiftKeyDown;

import com.glodblock.github.common.item.BaseItemBlockContainer;
import com.glodblock.github.common.tabs.FluidCraftingTabs;
import com.glodblock.github.common.tile.TileWalrus;
import com.glodblock.github.util.NameConst;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.List;
import net.minecraft.block.material.Material;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.MathHelper;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;

public class BlockWalrus extends BaseBlockContainer {

public BlockWalrus() {
super(Material.clay);
setHardness(2.0F);
setResistance(10.0F);
setBlockName(NameConst.BLOCK_WALRUS);
}

@Override
public boolean isOpaqueCube() {
return false;
}

@Override
public TileEntity createNewTileEntity(World world, int meta) {
return new TileWalrus();
}

@Override
public int getRenderType() {
return -1;
}

@Override
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemstack) {
int l = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3;

if (l == 0) {
world.setBlockMetadataWithNotify(x, y, z, 2, 2);
}

if (l == 1) {
world.setBlockMetadataWithNotify(x, y, z, 5, 2);
}

if (l == 2) {
world.setBlockMetadataWithNotify(x, y, z, 3, 2);
}

if (l == 3) {
world.setBlockMetadataWithNotify(x, y, z, 4, 2);
}
}

@Override
public boolean renderAsNormalBlock() {
return false;
}

@Override
public void setBlockBoundsBasedOnState(IBlockAccess blockAccess, int x, int y, int z) {
switch (ForgeDirection.getOrientation(blockAccess.getBlockMetadata(x, y, z))) {
case NORTH:
setBlockBounds(0.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F);
break;
case EAST:
setBlockBounds(0.0F, 0.0F, 0.0F, 2.0F, 1.0F, 1.0F);
break;
case SOUTH:
setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 2.0F);
break;
case WEST:
setBlockBounds(-1.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
break;
default:
setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
break;
}
}

public BlockWalrus register() {
GameRegistry.registerBlock(this, BaseItemBlockContainer.class, NameConst.BLOCK_WALRUS);
GameRegistry.registerTileEntity(TileWalrus.class, NameConst.BLOCK_WALRUS);
setCreativeTab(FluidCraftingTabs.INSTANCE);
return this;
}

@Override
@SideOnly(Side.CLIENT)
public void addInformation(
final ItemStack itemStack,
final EntityPlayer player,
final List<String> toolTip,
final boolean advancedToolTips) {

if (isShiftKeyDown()) {
toolTip.add(NameConst.i18n(NameConst.TT_WALRUS_DESC));
} else {
toolTip.add(NameConst.i18n(NameConst.TT_SHIFT_FOR_MORE));
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package com.glodblock.github.common.item;

import com.glodblock.github.common.block.BaseBlockContainer;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;

public class BaseItemBlockContainer extends ItemBlock {
private final BaseBlockContainer blockType;

public BaseItemBlockContainer(Block id) {
super(id);
this.blockType = (BaseBlockContainer) id;
}

@Override
@SideOnly(Side.CLIENT)
@SuppressWarnings("unchecked")
public void addInformation(
final ItemStack itemStack, final EntityPlayer player, final List toolTip, final boolean advancedToolTips) {
blockType.addInformation(itemStack, player, toolTip, advancedToolTips);
}
}
Loading

0 comments on commit 4d236cb

Please sign in to comment.