Skip to content
Merged
Show file tree
Hide file tree
Changes from 18 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import com.fouristhenumber.utilitiesinexcess.common.items.tools.ItemAntiParticulateShovel;
import com.fouristhenumber.utilitiesinexcess.common.items.tools.ItemDestructionPickaxe;
import com.fouristhenumber.utilitiesinexcess.common.items.tools.ItemEthericSword;
import com.fouristhenumber.utilitiesinexcess.common.items.tools.ItemGluttonsAxe;
import com.fouristhenumber.utilitiesinexcess.common.items.tools.ItemGourmandsAxe;
import com.fouristhenumber.utilitiesinexcess.common.items.tools.ItemPrecisionShears;
import com.fouristhenumber.utilitiesinexcess.common.items.tools.ItemReversingHoe;
import com.fouristhenumber.utilitiesinexcess.config.blocks.EnderLotusConfig;
Expand All @@ -34,7 +34,7 @@
import com.fouristhenumber.utilitiesinexcess.config.items.unstabletools.AntiParticulateShovelConfig;
import com.fouristhenumber.utilitiesinexcess.config.items.unstabletools.DestructionPickaxeConfig;
import com.fouristhenumber.utilitiesinexcess.config.items.unstabletools.EthericSwordConfig;
import com.fouristhenumber.utilitiesinexcess.config.items.unstabletools.GluttonsAxeConfig;
import com.fouristhenumber.utilitiesinexcess.config.items.unstabletools.GourmandsAxeConfig;
import com.fouristhenumber.utilitiesinexcess.config.items.unstabletools.PrecisionShearsConfig;
import com.fouristhenumber.utilitiesinexcess.config.items.unstabletools.ReversingHoeConfig;

Expand All @@ -45,7 +45,7 @@ public enum ModItems {
// spotless:off

// make sure to leave a trailing comma
GLUTTONS_AXE(GluttonsAxeConfig.enable, new ItemGluttonsAxe(), "gluttons_axe"),
GOURMANDS_AXE(GourmandsAxeConfig.enable, new ItemGourmandsAxe(), "gourmands_axe"),
DESTRUCTION_PICKAXE(DestructionPickaxeConfig.enable, new ItemDestructionPickaxe(), "destruction_pickaxe"),
ANTI_PARTICULATE_SHOVEL(AntiParticulateShovelConfig.enable, new ItemAntiParticulateShovel(), "anti_particulate_shovel"),
PRECISION_SHEARS(PrecisionShearsConfig.enable, new ItemPrecisionShears(), "precision_shears"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ public Item getTabIconItem() {
.getItem();
}

public static final ItemStack ICON_ITEM = new ItemStack(ModItems.GLUTTONS_AXE.get());
public static final ItemStack ICON_ITEM = new ItemStack(ModItems.GOURMANDS_AXE.get());

@Override
public ItemStack getIconItemStack() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public static void IMCSender() {
sendInfoPage("utilitiesinexcess:inverted_ingot", "nei.infopage.uie.ticon_inverted");
}

sendInfoPage("<utilitiesinexcess:gluttons_axe>", "nei.infopage.uie.gluttons_axe.1");
sendInfoPage("<utilitiesinexcess:gourmands_axe>", "nei.infopage.uie.gourmands_axe.1");
sendInfoPage("<utilitiesinexcess:destruction_pickaxe>", "nei.infopage.uie.destruction_pickaxe.1");
sendInfoPage("<utilitiesinexcess:anti_particulate_shovel>", "nei.infopage.uie.anti_particulate_shovel.1");
sendInfoPage("<utilitiesinexcess:precision_shears>", "nei.infopage.uie.precision_shears.1");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
public class BlockConveyor extends BlockContainer {

@SideOnly(Side.CLIENT)
private IIcon belt_up, belt_down, belt_left, belt_right, blank;
private IIcon belt_up, belt_down, belt_left, belt_right, blank_right, blank_left;

public BlockConveyor() {
super(Material.piston);
Expand All @@ -45,17 +45,26 @@ public void registerBlockIcons(IIconRegister reg) {
belt_down = reg.registerIcon("utilitiesinexcess:conveyor_belt_down");
belt_left = reg.registerIcon("utilitiesinexcess:conveyor_belt_left");
belt_right = reg.registerIcon("utilitiesinexcess:conveyor_belt_right");
blank = reg.registerIcon("utilitiesinexcess:conveyor_belt_blank");
blank_right = reg.registerIcon("utilitiesinexcess:conveyor_belt_blank_right");
blank_left = reg.registerIcon("utilitiesinexcess:conveyor_belt_blank_left");
}

@SideOnly(Side.CLIENT)
@Override
public IIcon getIcon(int s, int meta) {
if (s == getFacing(meta).getOpposite()
ForgeDirection facing = getFacing(meta);
if (s == facing.ordinal()) return belt_down;
if (s == facing.getOpposite()
.ordinal()) return belt_up;
if (s != ForgeDirection.UP.ordinal()) return blank;

return switch (getFacing(meta)) {
if (s != ForgeDirection.UP.ordinal() && s != ForgeDirection.DOWN.ordinal()) {
if (s == facing.getRotation(ForgeDirection.DOWN)
.ordinal()) return blank_left;
else return blank_right;
}

if (s == ForgeDirection.DOWN.ordinal()) facing = facing.getOpposite();
return switch (facing) {
case NORTH -> belt_up;
case SOUTH -> belt_down;
case WEST -> belt_left;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,17 @@

import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;

import com.fouristhenumber.utilitiesinexcess.common.tileentities.TileEntitySmartPump;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

public class BlockSmartPump extends BlockContainer {

public BlockSmartPump() {
Expand All @@ -15,6 +21,26 @@ public BlockSmartPump() {
setBlockTextureName("utilitiesinexcess:smart_pump");
}

IIcon sides;
IIcon top;

@SideOnly(Side.CLIENT)
@Override
public void registerBlockIcons(IIconRegister reg) {
sides = reg.registerIcon("utilitiesinexcess:smart_pump");
top = reg.registerIcon("utilitiesinexcess:smart_pump_top");
}

@SideOnly(Side.CLIENT)
@Override
public IIcon getIcon(int s, int meta) {
if (s == ForgeDirection.UP.ordinal() || s == ForgeDirection.DOWN.ordinal()) {
return top;
} else {
return sides;
}
}

@Override
public TileEntity createNewTileEntity(World worldIn, int meta) {
return new TileEntitySmartPump();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,35 @@
import net.minecraft.block.Block;
import net.minecraft.block.BlockContainer;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.init.Blocks;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;

import com.fouristhenumber.utilitiesinexcess.common.tileentities.TileEntityBlockUpdateDetector;

public class BlockUpdateDetector extends BlockContainer {

private IIcon iconInactive;
private IIcon iconActive;

public BlockUpdateDetector() {
super(Material.rock);
setBlockName("block_update_detector");
setBlockTextureName("utilitiesinexcess:block_update_detector");
}

@Override
public void registerBlockIcons(IIconRegister reg) {
iconInactive = reg.registerIcon("utilitiesinexcess:block_update_detector_inactive");
iconActive = reg.registerIcon("utilitiesinexcess:block_update_detector_active");
}

@Override
public IIcon getIcon(int side, int meta) {
boolean active = (meta) == 1;
return active ? iconActive : iconInactive;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,13 @@
import com.fouristhenumber.utilitiesinexcess.UtilitiesInExcess;
import com.fouristhenumber.utilitiesinexcess.common.renderers.WireframeRenderer;
import com.fouristhenumber.utilitiesinexcess.utils.ArchitectsWandUtils;
import com.gtnewhorizon.gtnhlib.api.ITranslucentItem;
import com.gtnewhorizon.gtnhlib.blockpos.BlockPos;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

public class ItemArchitectsWand extends Item {
public class ItemArchitectsWand extends Item implements ITranslucentItem {

public int buildLimit;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package com.fouristhenumber.utilitiesinexcess.common.items;

import java.util.List;

import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
Expand All @@ -24,9 +22,6 @@
import com.cleanroommc.modularui.widgets.slot.ItemSlot;
import com.cleanroommc.modularui.widgets.slot.ModularSlot;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

public class ItemGoldenBag extends Item implements IGuiHolder<PlayerInventoryGuiData> {

private final int inventorySize = 54;
Expand All @@ -49,12 +44,6 @@ public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer pla
return super.onItemRightClick(stack, world, player);
}

@Override
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean advanced) {
tooltip.add(StatCollector.translateToLocal("item.golden_bag.desc"));
}

@Override
public ModularPanel buildUI(PlayerInventoryGuiData data, PanelSyncManager syncManager, UISettings settings) {
final int panelHeight = 220;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@
import net.minecraft.world.World;

import com.fouristhenumber.utilitiesinexcess.config.items.unstabletools.AntiParticulateShovelConfig;
import com.gtnewhorizon.gtnhlib.api.ITranslucentItem;

public class ItemAntiParticulateShovel extends ItemSpade {
public class ItemAntiParticulateShovel extends ItemSpade implements ITranslucentItem {

public ItemAntiParticulateShovel() {
super(ToolMaterial.EMERALD);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,11 @@
import net.minecraft.util.StatCollector;

import com.fouristhenumber.utilitiesinexcess.config.items.unstabletools.DestructionPickaxeConfig;
import com.gtnewhorizon.gtnhlib.api.ITranslucentItem;

import akka.japi.Pair;

public class ItemDestructionPickaxe extends ItemPickaxe {
public class ItemDestructionPickaxe extends ItemPickaxe implements ITranslucentItem {

public ItemDestructionPickaxe() {
super(ToolMaterial.EMERALD);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,9 @@
import com.fouristhenumber.utilitiesinexcess.config.items.unstabletools.EthericSwordConfig;
import com.fouristhenumber.utilitiesinexcess.mixins.early.minecraft.accessors.AccessorEntityLivingBase;
import com.fouristhenumber.utilitiesinexcess.mixins.early.minecraft.accessors.AccessorItemSword;
import com.gtnewhorizon.gtnhlib.api.ITranslucentItem;

public class ItemEthericSword extends ItemSword {
public class ItemEthericSword extends ItemSword implements ITranslucentItem {

public ItemEthericSword() {
super(ToolMaterial.EMERALD);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,24 +16,25 @@
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;

import com.fouristhenumber.utilitiesinexcess.config.items.unstabletools.GluttonsAxeConfig;
import com.fouristhenumber.utilitiesinexcess.config.items.unstabletools.GourmandsAxeConfig;
import com.fouristhenumber.utilitiesinexcess.mixins.early.minecraft.accessors.AccessorEntityZombie;
import com.fouristhenumber.utilitiesinexcess.mixins.early.minecraft.accessors.AccessorItemTool;
import com.gtnewhorizon.gtnhlib.api.ITranslucentItem;

public class ItemGluttonsAxe extends ItemAxe {
public class ItemGourmandsAxe extends ItemAxe implements ITranslucentItem {

public ItemGluttonsAxe() {
public ItemGourmandsAxe() {
super(ToolMaterial.EMERALD);
setTextureName("utilitiesinexcess:gluttons_axe");
setUnlocalizedName("gluttons_axe");
if (GluttonsAxeConfig.unbreakable) setMaxDamage(0);
((AccessorItemTool) this).setDamageVsEntity(GluttonsAxeConfig.damageAgainstUndead);
setTextureName("utilitiesinexcess:gourmands_axe");
setUnlocalizedName("gourmands_axe");
if (GourmandsAxeConfig.unbreakable) setMaxDamage(0);
((AccessorItemTool) this).setDamageVsEntity(GourmandsAxeConfig.damageAgainstUndead);
}

private static final Random particleRandom = new Random();;

public static void spawnParticles(Entity e) {
if (!GluttonsAxeConfig.spawnParticles) return;
if (!GourmandsAxeConfig.spawnParticles) return;
int ci = Potion.potionTypes[Potion.heal.getId()].getLiquidColor();
double d0 = (double) (ci >> 16 & 255) / 255.0D;
double d1 = (double) (ci >> 8 & 255) / 255.0D;
Expand All @@ -58,7 +59,7 @@ public void onUpdate(ItemStack s, World w, Entity e, int slot, boolean selected)
if (e instanceof EntityPlayer p && selected) {
if (w.getTotalWorldTime() % (2 * 20) == 0) {
FoodStats fs = p.getFoodStats();
fs.addStats(GluttonsAxeConfig.foodGain, GluttonsAxeConfig.saturationGain);
fs.addStats(GourmandsAxeConfig.foodGain, GourmandsAxeConfig.saturationGain);
}
}
}
Expand All @@ -80,10 +81,10 @@ public boolean onLeftClickEntity(ItemStack stack, EntityPlayer attacker, Entity
}
if (!target.isEntityUndead()) {

float amountToHeal = Math.min(GluttonsAxeConfig.maxHeal, target.getMaxHealth() - target.getHealth());
if (amountToHeal == 0) if (GluttonsAxeConfig.useHungerAlways) attacker.addExhaustion(3 * 4);
float amountToHeal = Math.min(GourmandsAxeConfig.maxHeal, target.getMaxHealth() - target.getHealth());
if (amountToHeal == 0) if (GourmandsAxeConfig.useHungerAlways) attacker.addExhaustion(3 * 4);
else {
if (GluttonsAxeConfig.drainHp) if (attacker.getHealth() >= amountToHeal + 1)
if (GourmandsAxeConfig.drainHp) if (attacker.getHealth() >= amountToHeal + 1)
attacker.setHealth(attacker.getHealth() - amountToHeal);
else return true;
target.setHealth(target.getHealth() + (amountToHeal + 1));
Expand All @@ -99,26 +100,26 @@ public boolean onLeftClickEntity(ItemStack stack, EntityPlayer attacker, Entity

@Override
public void addInformation(ItemStack stack, EntityPlayer player, List<String> tooltip, boolean p_77624_4_) {
if (GluttonsAxeConfig.unbreakable)
if (GourmandsAxeConfig.unbreakable)
tooltip.add(EnumChatFormatting.RED + StatCollector.translateToLocalFormatted("item.unbreakable.desc"));
}

// Unbreakable
@Override
public boolean isDamageable() {
if (GluttonsAxeConfig.unbreakable) return false;
if (GourmandsAxeConfig.unbreakable) return false;
return super.isDamageable();
}

@Override
public boolean getIsRepairable(ItemStack stack, ItemStack repairMaterial) {
if (GluttonsAxeConfig.unbreakable) return false;
if (GourmandsAxeConfig.unbreakable) return false;
return super.getIsRepairable(stack, repairMaterial);
}

@Override
public boolean showDurabilityBar(ItemStack stack) {
if (GluttonsAxeConfig.unbreakable) return false;
if (GourmandsAxeConfig.unbreakable) return false;
return super.showDurabilityBar(stack);
}
//
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@
import net.minecraftforge.common.ForgeHooks;

import com.fouristhenumber.utilitiesinexcess.config.items.unstabletools.PrecisionShearsConfig;
import com.gtnewhorizon.gtnhlib.api.ITranslucentItem;

public class ItemPrecisionShears extends ItemShears {
public class ItemPrecisionShears extends ItemShears implements ITranslucentItem {

public static final String COOLDOWN_NBT_TAG = "uie:cooldown";
private IIcon cooldownIcon;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,10 @@
import com.fouristhenumber.utilitiesinexcess.ModBlocks;
import com.fouristhenumber.utilitiesinexcess.config.blocks.CursedEarthConfig;
import com.fouristhenumber.utilitiesinexcess.config.items.unstabletools.ReversingHoeConfig;
import com.gtnewhorizon.gtnhlib.api.ITranslucentItem;

// TODO: Add new features to the reversing hoe
public class ItemReversingHoe extends ItemHoe {
public class ItemReversingHoe extends ItemHoe implements ITranslucentItem {

public ItemReversingHoe() {
super(ToolMaterial.EMERALD);
Expand Down
Loading