Respective Effectiveness for Minecraft Beta 1.7.3
The Respective Effectiveness modification is a small but useful gameplay improvement focusing on the effectiveness of tools when gathering resources.
Core Concept
This mod changes the block mining system to make it more logical. Now any pickaxe will efficiently break a furnace since pickaxes are specifically designed for working with stone surfaces. Similarly, axes work great with wooden structures, and shovels handle loose materials perfectly.
Watching the video demonstration is recommended - screenshots cannot fully convey the essence of this mod.
Slab Particularities
The slab system uses metadata to handle two block states and four different slabs. This creates some confusion in the processing code. A potential solution could be creating separate blocks for wooden slabs, as implemented in version 1.3, but this would require using two additional block IDs.
Technical Requirements
For the mod to function, you'll need:
- Modloader Beta 1.7.3
- ModloaderMP Unofficial v2
- Forge V1.0.6
public class mod_RespectiveEffectiveness extends BaseModMp {
public static final int zero = 0;
public static final int one = 1;
public static final int two = 2;
public static final int three = 3;
public static final String pickaxe = "pickaxe";
public static final String axe = "axe";
public static final String shovel = "shovel";
public mod_RespectiveEffectiveness() {
// Setup harvest levels for pickaxes
MinecraftForge.setBlockHarvestLevel(Block.stone, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.cobblestone, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.oreCoal, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.glass, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.dispenser, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.sandStone, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.rail, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.railDetector, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.railPowered, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.pistonBase, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.pistonStickyBase, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.pistonExtension, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.pistonMoving, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.stairDouble, 0, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.stairSingle, 0, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.stairDouble, 1, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.stairSingle, 1, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.stairDouble, 3, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.stairSingle, 3, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.brick, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.cobblestoneMossy, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.mobSpawner, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.stoneOvenActive, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.stoneOvenIdle, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.stairCompactCobblestone, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.lever, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.pressurePlateStone, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.button, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.ice, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.netherrack, pickaxe, zero);
MinecraftForge.setBlockHarvestLevel(Block.glowStone, pickaxe, zero);
// Iron ore and similar require level 1
MinecraftForge.setBlockHarvestLevel(Block.oreIron, pickaxe, 1);
MinecraftForge.setBlockHarvestLevel(Block.blockSteel, pickaxe, 1);
MinecraftForge.setBlockHarvestLevel(Block.oreLapis, pickaxe, 1);
MinecraftForge.setBlockHarvestLevel(Block.blockLapis, pickaxe, 1);
// Level 2 for diamond ore, gold
MinecraftForge.setBlockHarvestLevel(Block.doorSteel, pickaxe, 2);
MinecraftForge.setBlockHarvestLevel(Block.oreDiamond, pickaxe, 2);
MinecraftForge.setBlockHarvestLevel(Block.blockDiamond, pickaxe, 2);
MinecraftForge.setBlockHarvestLevel(Block.oreGold, pickaxe, 2);
MinecraftForge.setBlockHarvestLevel(Block.blockGold, pickaxe, 2);
MinecraftForge.setBlockHarvestLevel(Block.oreRedstone, pickaxe, 2);
MinecraftForge.setBlockHarvestLevel(Block.oreRedstoneGlowing, pickaxe, 2);
// Obsidian requires pickaxe with harvest level 3
MinecraftForge.setBlockHarvestLevel(Block.obsidian, pickaxe, 3);
// Setup for axes
MinecraftForge.setBlockHarvestLevel(Block.wood, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.sponge, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.glass, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.musicBlock, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.blockBed, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.web, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.stairDouble, 2, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.stairSingle, 2, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.workbench, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.bookShelf, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.pressurePlatePlanks, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.stairCompactPlanks, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.chest, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.lockedChest, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.doorWood, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.trapdoor, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.ladder, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.signPost, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.signWall, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.cactus, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.cake, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.jukebox, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.fence, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.pumpkin, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.pumpkinLantern, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.planks, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.blockSnow, axe, zero);
MinecraftForge.setBlockHarvestLevel(Block.snow, axe, zero);
// Setup for shovels
MinecraftForge.setBlockHarvestLevel(Block.grass, shovel, zero);
MinecraftForge.setBlockHarvestLevel(Block.dirt, shovel, zero);
MinecraftForge.setBlockHarvestLevel(Block.sand, shovel, zero);
MinecraftForge.setBlockHarvestLevel(Block.gravel, shovel, zero);
MinecraftForge.setBlockHarvestLevel(Block.tilledField, shovel, zero);
MinecraftForge.setBlockHarvestLevel(Block.slowSand, shovel, zero);
MinecraftForge.setBlockHarvestLevel(Block.blockClay, shovel, zero);
}
public String Version() {
return "v1.0";
}
public String Name() {
return "Respective Effectiveness";
}
}