Placeholder models and balance changes (no longer requires hammer item)
This commit is contained in:
parent
3742934bae
commit
7a2d37a634
|
|
@ -1,4 +1,4 @@
|
|||
// 1.20.1 2024-01-10T20:18:25.7260241 Loot Tables
|
||||
// 1.20.1 2024-01-25T14:16:46.237861 Loot Tables
|
||||
105d8a61ea7145d7798146d385d4aad24fd1588d data/exdeorum/loot_tables/blocks/acacia_barrel.json
|
||||
1e77127a82cbba0937bb02694f65cf1893aeffcb data/exdeorum/loot_tables/blocks/acacia_crucible.json
|
||||
fcc00910a8cc94bed6339d6833fcec53c501a0d7 data/exdeorum/loot_tables/blocks/acacia_sieve.json
|
||||
|
|
@ -73,6 +73,7 @@ b38104ee25127d9c65ad9e323ed879f76df7a048 data/exdeorum/loot_tables/blocks/mangro
|
|||
475b89fd8f09834652f80c93d8a6d0964d708ead data/exdeorum/loot_tables/blocks/maple_barrel.json
|
||||
54f36187d7fb97dedc4680d14e2ad7d70b5c64af data/exdeorum/loot_tables/blocks/maple_crucible.json
|
||||
7ffe80360af055f3977d05b5684a299886bcb756 data/exdeorum/loot_tables/blocks/maple_sieve.json
|
||||
926a9224e747bf53eb81448c1abb55d73fce5092 data/exdeorum/loot_tables/blocks/mechanical_hammer.json
|
||||
a84508222cb36b07cb20ee31915d802bcc411149 data/exdeorum/loot_tables/blocks/mechanical_sieve.json
|
||||
cad973c873a2e50ccfac91e88eadb3c2462d39d1 data/exdeorum/loot_tables/blocks/oak_barrel.json
|
||||
f94bc97efbfd26ccf7dba32d414fb5e33decd5f6 data/exdeorum/loot_tables/blocks/oak_crucible.json
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
// 1.20.1 2024-01-12T17:15:18.0568334 ModKit Language: en_us for mod 'exdeorum'
|
||||
134e71f17cef95d72141a3d6431db5eb8438f3a0 assets/exdeorum/lang/en_us.json
|
||||
// 1.20.1 2024-01-25T14:16:46.2316734 ModKit Language: en_us for mod 'exdeorum'
|
||||
248ab1a837b9857fb1928e826cb02f9f142e8d96 assets/exdeorum/lang/en_us.json
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// 1.20.1 2024-01-10T20:18:25.7240245 ModKit Item Models for mod 'exdeorum'
|
||||
// 1.20.1 2024-01-25T14:16:46.2347562 ModKit Item Models for mod 'exdeorum'
|
||||
4ba3bb2c6174ac3728a4b85e34681f118ec8eb34 assets/exdeorum/models/item/acacia_barrel.json
|
||||
c03ce41f7c071498fcbd5f5225e91dcb2f365fbb assets/exdeorum/models/item/acacia_crucible.json
|
||||
3b4f1d45c0d9c4cd1d9a5cdf6ddc8d2c9791bca5 assets/exdeorum/models/item/acacia_sieve.json
|
||||
|
|
@ -105,6 +105,7 @@ ff89dc05408074da0e9d41bfef91dfe975302403 assets/exdeorum/models/item/mahogany_cr
|
|||
c3f2af2a88cd97148b05efbd6e24fc2558fcc0b8 assets/exdeorum/models/item/maple_barrel.json
|
||||
cc045825c562e9133858ce5cfe6e6f1dcb747d8e assets/exdeorum/models/item/maple_crucible.json
|
||||
a64e9b9ce91ac6b2f36690a770afc52b8900a614 assets/exdeorum/models/item/maple_sieve.json
|
||||
59cdfe2c26f9d4a16ab7e8e7a87c97403eafa562 assets/exdeorum/models/item/mechanical_hammer.json
|
||||
1e2b482f5fc4d283f5ca12919b575f86dc4a9541 assets/exdeorum/models/item/mechanical_sieve.json
|
||||
d543d3e18bdcf2bf79a762b52cc61a4161124db1 assets/exdeorum/models/item/mycelium_spores.json
|
||||
1f48b2ce3452ce5d02142c9f663ae7bdb7d1d934 assets/exdeorum/models/item/netherite_hammer.json
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@
|
|||
"block.exdeorum.maple_barrel": "Maple Barrel",
|
||||
"block.exdeorum.maple_crucible": "Maple Crucible",
|
||||
"block.exdeorum.maple_sieve": "Maple Sieve",
|
||||
"block.exdeorum.mechanical_hammer": "Mechanical Hammer",
|
||||
"block.exdeorum.mechanical_sieve": "Mechanical Sieve",
|
||||
"block.exdeorum.oak_barrel": "Oak Barrel",
|
||||
"block.exdeorum.oak_crucible": "Oak Crucible",
|
||||
|
|
@ -118,6 +119,7 @@
|
|||
"block.exdeorum.willow_crucible": "Willow Crucible",
|
||||
"block.exdeorum.willow_sieve": "Willow Sieve",
|
||||
"block.exdeorum.witch_water": "Witch Water",
|
||||
"exdeorum.container.mechanical_hammer": "Mechanical Hammer",
|
||||
"exdeorum.container.mechanical_sieve": "Mechanical Sieve",
|
||||
"fluid_type.exdeorum.witch_water": "Witch Water",
|
||||
"generator.exdeorum.void_world": "Void World",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "exdeorum:block/mechanical_hammer"
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"bonus_rolls": 0.0,
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:survives_explosion"
|
||||
}
|
||||
],
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "exdeorum:mechanical_hammer"
|
||||
}
|
||||
],
|
||||
"rolls": 1.0
|
||||
}
|
||||
],
|
||||
"random_sequence": "exdeorum:blocks/mechanical_hammer"
|
||||
}
|
||||
|
|
@ -36,6 +36,8 @@ public class MechanicalHammerBlock extends EBlock {
|
|||
|
||||
public MechanicalHammerBlock(Properties properties) {
|
||||
super(properties, EBlockEntities.MECHANICAL_HAMMER);
|
||||
|
||||
registerDefaultState(defaultBlockState().setValue(RUNNING, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -49,12 +49,12 @@ public class MechanicalHammerBlockEntity extends AbstractMachineBlockEntity<Mech
|
|||
private static final int HAMMER_SLOT = 1;
|
||||
private static final int OUTPUT_SLOT = 2;
|
||||
public static final int TOTAL_PROGRESS = 10_000_000;
|
||||
// process should take 320 ticks or 10 seconds with no efficiency
|
||||
// process should take 200 ticks or 10 seconds with no efficiency
|
||||
private static final int PROGRESS_INTERVAL = TOTAL_PROGRESS / 200;
|
||||
public static final int NOT_RUNNING = -1;
|
||||
|
||||
// an integer from 0 to 10,000,000 instead of a decimal number which is inaccurate and buggy
|
||||
private int progress = -1;
|
||||
private int progress = NOT_RUNNING;
|
||||
private float efficiency;
|
||||
|
||||
public MechanicalHammerBlockEntity(BlockPos pos, BlockState state) {
|
||||
|
|
@ -99,12 +99,16 @@ public class MechanicalHammerBlockEntity extends AbstractMachineBlockEntity<Mech
|
|||
protected void tryStartRunning() {
|
||||
var input = this.inventory.getStackInSlot(INPUT_SLOT);
|
||||
|
||||
if (!input.isEmpty() && !this.inventory.getStackInSlot(HAMMER_SLOT).isEmpty()) {
|
||||
if (!input.isEmpty()) {
|
||||
if (canFitResultIntoOutput(input) != null) {
|
||||
this.progress = 0;
|
||||
this.level.setBlock(this.worldPosition, this.getBlockState().setValue(MechanicalHammerBlock.RUNNING, true), 3);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
this.level.setBlock(this.worldPosition, this.getBlockState().setValue(MechanicalHammerBlock.RUNNING, false), 3);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
|
@ -130,7 +134,7 @@ public class MechanicalHammerBlockEntity extends AbstractMachineBlockEntity<Mech
|
|||
protected void runMachineTick() {
|
||||
var input = this.inventory.getStackInSlot(INPUT_SLOT);
|
||||
|
||||
if (!input.isEmpty() && !this.inventory.getStackInSlot(HAMMER_SLOT).isEmpty()) {
|
||||
if (!input.isEmpty()) {
|
||||
this.progress += PROGRESS_INTERVAL * this.efficiency;
|
||||
|
||||
if (this.progress >= TOTAL_PROGRESS) {
|
||||
|
|
@ -178,9 +182,13 @@ public class MechanicalHammerBlockEntity extends AbstractMachineBlockEntity<Mech
|
|||
private void onHammerChanged() {
|
||||
var hammer = this.inventory.getStackInSlot(HAMMER_SLOT);
|
||||
if (hammer.isEmpty()) {
|
||||
this.progress = NOT_RUNNING;
|
||||
this.efficiency = 1f;
|
||||
} else {
|
||||
// This timing allows full efficiency hammer to match full efficiency sieve (55 ticks/craft
|
||||
// Rewards player for using hammer by doubling speed right off the bat, before efficiency
|
||||
// although not as fast as Mekanism's crusher, still pretty fast and much cheaper
|
||||
this.efficiency = 2f + hammer.getEnchantmentLevel(Enchantments.BLOCK_EFFICIENCY) * 0.33f;
|
||||
}
|
||||
this.efficiency = 1f + hammer.getEnchantmentLevel(Enchantments.BLOCK_EFFICIENCY) * 0.17f;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -79,7 +79,6 @@ class English {
|
|||
english.add(TranslationKeys.REDSTONE_CONTROL_LABEL, "Redstone Mode");
|
||||
english.add(TranslationKeys.REDSTONE_CONTROL_MODE, "Mode: ");
|
||||
english.add(TranslationKeys.MECHANICAL_HAMMER_SCREEN_TITLE, "Mechanical Hammer");
|
||||
english.add(TranslationKeys.MECHANICAL_HAMMER_SCREEN_TITLE, "Consuming %s FE/t");
|
||||
|
||||
english.addBlock(EBlocks.VEXING_ARCHWOOD_CRUCIBLE, "Vexing Archwood Crucible");
|
||||
english.addBlock(EBlocks.CASCADING_ARCHWOOD_CRUCIBLE, "Cascading Archwood Crucible");
|
||||
|
|
|
|||
|
|
@ -81,5 +81,4 @@ public class TranslationKeys {
|
|||
public static final String REDSTONE_CONTROL_LABEL = "gui." + ExDeorum.ID + ".redstone_control.label";
|
||||
public static final String REDSTONE_CONTROL_MODE = "gui." + ExDeorum.ID + ".redstone_control.mode";
|
||||
public static final String MECHANICAL_HAMMER_SCREEN_TITLE = ExDeorum.ID + ".container.mechanical_hammer";
|
||||
public static final String MACHINE_FE_PER_TICK = "gui." + ExDeorum.ID + ".machine_fe_per_tick";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ public class EBlocks {
|
|||
public static final RegistryObject<SieveBlock> CRYSTALLIZED_SIEVE = registerSieve("crystallized_sieve", SoundType.GLASS);
|
||||
// Mechanical Sieve (todo add properties)
|
||||
public static final RegistryObject<MechanicalSieveBlock> MECHANICAL_SIEVE = BLOCKS.register("mechanical_sieve", () -> new MechanicalSieveBlock(of()));
|
||||
// Mechanical Hammer (todo add properties)
|
||||
// Mechanical Hammer
|
||||
public static final RegistryObject<MechanicalHammerBlock> MECHANICAL_HAMMER = BLOCKS.register("mechanical_hammer", () -> new MechanicalHammerBlock(of()));
|
||||
|
||||
// Lava Crucibles
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"parent": "minecraft:block/orientable",
|
||||
"textures": {
|
||||
"front": "exdeorum:block/mechanical_hammer_front_off",
|
||||
"front": "exdeorum:block/mechanical_hammer_front",
|
||||
"side": "exdeorum:block/mechanical_hammer_side",
|
||||
"top": "exdeorum:block/mechanical_hammer_top"
|
||||
}
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 623 B |
Binary file not shown.
|
After Width: | Height: | Size: 748 B |
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"animation": {
|
||||
"interpolate": false,
|
||||
"frametime": 4
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 612 B |
Binary file not shown.
|
After Width: | Height: | Size: 691 B |
Loading…
Reference in New Issue
Block a user