optimized lava hoarder (one block with block property instead of 2)
This commit is contained in:
@@ -1,125 +0,0 @@
|
||||
package de.jottyfan.minecraft.block;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import java.util.Set;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.storage.loot.LootParams.Builder;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author jotty
|
||||
*
|
||||
*/
|
||||
public class EmptyLavahoarder extends Block {
|
||||
|
||||
public EmptyLavahoarder(Properties properties) {
|
||||
super(properties);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<ItemStack> getDrops(BlockState state, Builder params) {
|
||||
List<ItemStack> list = new ArrayList<>();
|
||||
list.add(new ItemStack(QuicklyBlocks.EMPTYLAVAHOARDER));
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tick(BlockState state, ServerLevel level, BlockPos pos, RandomSource random) {
|
||||
boolean found = Lavahoarder.suckLava(level, pos.north());
|
||||
found = found || Lavahoarder.suckLava(level, pos.south());
|
||||
found = found || Lavahoarder.suckLava(level, pos.east());
|
||||
found = found || Lavahoarder.suckLava(level, pos.west());
|
||||
found = found || Lavahoarder.suckLava(level, pos.above());
|
||||
found = found || Lavahoarder.suckLava(level, pos.below());
|
||||
if (found) {
|
||||
level.setBlock(pos, QuicklyBlocks.LAVAHOARDER.defaultBlockState(), 2);
|
||||
level.scheduleTick(pos, QuicklyBlocks.LAVAHOARDER, 1);
|
||||
} else {
|
||||
level.scheduleTick(pos, this, 1);
|
||||
}
|
||||
}
|
||||
|
||||
private static final String stringOf(BlockPos pos) {
|
||||
StringBuilder buf = new StringBuilder();
|
||||
buf.append(pos.getX()).append(":");
|
||||
buf.append(pos.getY()).append(":");
|
||||
buf.append(pos.getZ());
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
private static final BlockPos blockPosOf(String s) {
|
||||
if (s.contains(":")) {
|
||||
String[] parts = s.split(":");
|
||||
if (parts.length > 2) {
|
||||
Integer x = Integer.valueOf(parts[0]);
|
||||
Integer y = Integer.valueOf(parts[1]);
|
||||
Integer z = Integer.valueOf(parts[2]);
|
||||
return new BlockPos(x, y, z);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private void findAllAttachedLavaBlocks(Set<String> list, BlockPos pos, Level level, Integer counter) {
|
||||
if (counter < 1) {
|
||||
return;
|
||||
} else if (Blocks.LAVA.equals(level.getBlockState(pos).getBlock())) {
|
||||
String p = stringOf(pos);
|
||||
if (!list.contains(p)) {
|
||||
list.add(p);
|
||||
findAllAttachedLavaBlocks(list, pos.above(), level, counter - 1);
|
||||
findAllAttachedLavaBlocks(list, pos.below(), level, counter - 1);
|
||||
findAllAttachedLavaBlocks(list, pos.north(), level, counter - 1);
|
||||
findAllAttachedLavaBlocks(list, pos.south(), level, counter - 1);
|
||||
findAllAttachedLavaBlocks(list, pos.east(), level, counter - 1);
|
||||
findAllAttachedLavaBlocks(list, pos.west(), level, counter - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPlace(BlockState state, Level level, BlockPos pos, BlockState oldState, boolean movedByPiston) {
|
||||
Set<String> positions = new HashSet<>();
|
||||
Integer counter = 8; // TODO: make it level up - able
|
||||
findAllAttachedLavaBlocks(positions, pos.above(), level, counter);
|
||||
findAllAttachedLavaBlocks(positions, pos.below(), level, counter);
|
||||
findAllAttachedLavaBlocks(positions, pos.north(), level, counter);
|
||||
findAllAttachedLavaBlocks(positions, pos.south(), level, counter);
|
||||
findAllAttachedLavaBlocks(positions, pos.east(), level, counter);
|
||||
findAllAttachedLavaBlocks(positions, pos.west(), level, counter);
|
||||
Integer amount = positions.size();
|
||||
for (String p : positions) {
|
||||
level.setBlock(blockPosOf(p), Blocks.AIR.defaultBlockState(), 2);
|
||||
}
|
||||
if (amount > 0) {
|
||||
level.setBlock(pos, QuicklyBlocks.LAVAHOARDER.defaultBlockState(), 2);
|
||||
level.scheduleTick(pos, QuicklyBlocks.LAVAHOARDER, 1);
|
||||
int count = 0;
|
||||
Random random = new Random();
|
||||
for (int i = 0; i < amount; i++) {
|
||||
if (random.nextFloat() < 0.0125) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
if (count > 0) {
|
||||
Lavahoarder.spawnRandomItems(level, pos.above(), count);
|
||||
}
|
||||
} else {
|
||||
level.scheduleTick(pos, this, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,10 @@
|
||||
package de.jottyfan.minecraft.block;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
import java.util.Set;
|
||||
|
||||
import de.jottyfan.minecraft.item.QuicklyItems;
|
||||
import net.minecraft.core.BlockPos;
|
||||
@@ -18,6 +20,8 @@ import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.StateDefinition;
|
||||
import net.minecraft.world.level.block.state.properties.BooleanProperty;
|
||||
import net.minecraft.world.level.storage.loot.LootParams.Builder;
|
||||
import net.minecraft.world.phys.BlockHitResult;
|
||||
|
||||
@@ -28,8 +32,16 @@ import net.minecraft.world.phys.BlockHitResult;
|
||||
*/
|
||||
public class Lavahoarder extends Block {
|
||||
|
||||
public static final BooleanProperty FILLED = BooleanProperty.create("filled");
|
||||
|
||||
public Lavahoarder(Properties properties) {
|
||||
super(properties);
|
||||
registerDefaultState(stateDefinition.any().setValue(FILLED, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
|
||||
builder.add(FILLED);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -88,12 +100,16 @@ public class Lavahoarder extends Block {
|
||||
|
||||
@Override
|
||||
protected void tick(BlockState state, ServerLevel level, BlockPos pos, RandomSource random) {
|
||||
suckLava(level, pos.north());
|
||||
suckLava(level, pos.south());
|
||||
suckLava(level, pos.east());
|
||||
suckLava(level, pos.west());
|
||||
suckLava(level, pos.above());
|
||||
suckLava(level, pos.below());
|
||||
boolean any = false;
|
||||
any = any || suckLava(level, pos.north());
|
||||
any = any || suckLava(level, pos.south());
|
||||
any = any || suckLava(level, pos.east());
|
||||
any = any || suckLava(level, pos.west());
|
||||
any = any || suckLava(level, pos.above());
|
||||
any = any || suckLava(level, pos.below());
|
||||
if (any && !level.getBlockState(pos).getValue(Lavahoarder.FILLED)) {
|
||||
level.setBlockAndUpdate(pos, QuicklyBlocks.LAVAHOARDER.defaultBlockState().setValue(Lavahoarder.FILLED, true));
|
||||
}
|
||||
level.scheduleTick(pos, this, 1);
|
||||
}
|
||||
|
||||
@@ -113,15 +129,85 @@ public class Lavahoarder extends Block {
|
||||
level.addFreshEntity(new ItemEntity(level, pos.getX(), pos.getY(), pos.getZ(), lavaBucketStack));
|
||||
}
|
||||
spawnRandomItems(level, pos, 2);
|
||||
level.setBlock(pos, QuicklyBlocks.EMPTYLAVAHOARDER.defaultBlockState(), 2);
|
||||
level.setBlockAndUpdate(pos, QuicklyBlocks.LAVAHOARDER.defaultBlockState()); // sets filled = false
|
||||
level.scheduleTick(pos, this, 1);
|
||||
}
|
||||
}
|
||||
return InteractionResult.SUCCESS; // forbid to empty the just filled lava bucket
|
||||
}
|
||||
|
||||
private static final String stringOf(BlockPos pos) {
|
||||
StringBuilder buf = new StringBuilder();
|
||||
buf.append(pos.getX()).append(":");
|
||||
buf.append(pos.getY()).append(":");
|
||||
buf.append(pos.getZ());
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
private void findAllAttachedLavaBlocks(Set<String> list, BlockPos pos, Level level, Integer counter) {
|
||||
if (counter < 1) {
|
||||
return;
|
||||
} else if (Blocks.LAVA.equals(level.getBlockState(pos).getBlock())) {
|
||||
String p = stringOf(pos);
|
||||
if (!list.contains(p)) {
|
||||
list.add(p);
|
||||
findAllAttachedLavaBlocks(list, pos.above(), level, counter - 1);
|
||||
findAllAttachedLavaBlocks(list, pos.below(), level, counter - 1);
|
||||
findAllAttachedLavaBlocks(list, pos.north(), level, counter - 1);
|
||||
findAllAttachedLavaBlocks(list, pos.south(), level, counter - 1);
|
||||
findAllAttachedLavaBlocks(list, pos.east(), level, counter - 1);
|
||||
findAllAttachedLavaBlocks(list, pos.west(), level, counter - 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static final BlockPos blockPosOf(String s) {
|
||||
if (s.contains(":")) {
|
||||
String[] parts = s.split(":");
|
||||
if (parts.length > 2) {
|
||||
Integer x = Integer.valueOf(parts[0]);
|
||||
Integer y = Integer.valueOf(parts[1]);
|
||||
Integer z = Integer.valueOf(parts[2]);
|
||||
return new BlockPos(x, y, z);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPlace(BlockState state, Level level, BlockPos pos, BlockState oldState, boolean movedByPiston) {
|
||||
level.scheduleTick(pos, this, 1);
|
||||
Set<String> positions = new HashSet<>();
|
||||
Integer counter = 8; // TODO: make it level up - able
|
||||
findAllAttachedLavaBlocks(positions, pos.above(), level, counter);
|
||||
findAllAttachedLavaBlocks(positions, pos.below(), level, counter);
|
||||
findAllAttachedLavaBlocks(positions, pos.north(), level, counter);
|
||||
findAllAttachedLavaBlocks(positions, pos.south(), level, counter);
|
||||
findAllAttachedLavaBlocks(positions, pos.east(), level, counter);
|
||||
findAllAttachedLavaBlocks(positions, pos.west(), level, counter);
|
||||
Integer amount = positions.size();
|
||||
for (String p : positions) {
|
||||
level.setBlockAndUpdate(blockPosOf(p), Blocks.AIR.defaultBlockState());
|
||||
}
|
||||
if (amount > 0) {
|
||||
if (!level.getBlockState(pos).getValue(Lavahoarder.FILLED)) {
|
||||
level.setBlockAndUpdate(pos, QuicklyBlocks.LAVAHOARDER.defaultBlockState().setValue(FILLED, true));
|
||||
}
|
||||
level.scheduleTick(pos, QuicklyBlocks.LAVAHOARDER, 1);
|
||||
int count = 0;
|
||||
Random random = new Random();
|
||||
for (int i = 0; i < amount; i++) {
|
||||
if (random.nextFloat() < 0.0125) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
if (count > 0) {
|
||||
Lavahoarder.spawnRandomItems(level, pos.above(), count);
|
||||
}
|
||||
} else {
|
||||
level.scheduleTick(pos, this, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,9 +41,7 @@ public class QuicklyBlocks {
|
||||
public static final Block CANOLAPLANT = registerBlock("blockcanolaplant", Properties.ofFullCopy(Blocks.WHEAT),
|
||||
properties -> new BlockPlant(properties, "canolaseed", "canola"));
|
||||
public static final Block LAVAHOARDER = registerBlock("lavahoarder",
|
||||
Properties.of().strength(2.5f).lightLevel(_ -> 15), properties -> new Lavahoarder(properties));
|
||||
public static final Block EMPTYLAVAHOARDER = registerBlock("emptylavahoarder", Properties.of().strength(2.5f),
|
||||
properties -> new EmptyLavahoarder(properties));
|
||||
Properties.of().strength(2.5f).lightLevel(state -> state.getValue(Lavahoarder.FILLED) ? 15 : 0), properties -> new Lavahoarder(properties));
|
||||
public static final Block QUICKIEPOWDER = registerBlock("blockquickiepowder",
|
||||
properties -> new BlockDrops(properties, new ItemStack(QuicklyItems.QUICKIEPOWDER, 9)));
|
||||
public static final Block SPEEDPOWDER = registerBlock("blockspeedpowder",
|
||||
@@ -79,9 +77,6 @@ public class QuicklyBlocks {
|
||||
public static final Block SULFORBLOCK = registerBlock("blocksulfor",
|
||||
properties -> new BlockOre(properties.strength(1.5f), null, new ItemStack(QuicklyItems.SULFOR, 9)));
|
||||
|
||||
// TODO: merge lavahoarder and emptylavahoarder into one block using a
|
||||
// BooleanProperty for the lava fill state
|
||||
|
||||
private static final Block registerBlock(String name, Properties properties) {
|
||||
return QuicklyBlocks.registerBlock(name, properties, p -> new Block(p));
|
||||
}
|
||||
@@ -115,11 +110,11 @@ public class QuicklyBlocks {
|
||||
block.accept(OREDEEPSLATESULFOR);
|
||||
block.accept(OREDEEPSLATESPEEDPOWDER);
|
||||
block.accept(ORENETHERSULFOR);
|
||||
block.accept(EMPTYLAVAHOARDER);
|
||||
block.accept(SPEEDPOWDER);
|
||||
block.accept(QUICKIEPOWDER);
|
||||
block.accept(MONSTERHOARDER);
|
||||
block.accept(ITEMHOARDER);
|
||||
block.accept(LAVAHOARDER);
|
||||
block.accept(DRILL);
|
||||
block.accept(STACKER);
|
||||
block.accept(SALPETERBLOCK);
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "quickly:block/emptylavahoarder"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "quickly:block/lavahoarder"
|
||||
}
|
||||
"filled=true": { "model": "quickly:block/lavahoarder" },
|
||||
"filled=false": { "model": "quickly:block/emptylavahoarder" }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"model": {
|
||||
"type": "minecraft:model",
|
||||
"model": "quickly:block/emptylavahoarder"
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"model": {
|
||||
"type": "minecraft:model",
|
||||
"model": "quickly:block/lavahoarder"
|
||||
"model": "quickly:block/emptylavahoarder"
|
||||
}
|
||||
}
|
||||
@@ -1,17 +1,4 @@
|
||||
{
|
||||
"item.quickly.speedpowderaxe": "Fluchtpulveraxt",
|
||||
"item.quickly.speedpowderpickaxe": "Fluchtpulverspitzhacke",
|
||||
"item.quickly.speedpowdershovel": "Fluchtpulverschaufel",
|
||||
"item.quickly.speedpowderhoe": "Fluchtpulverfeldhacke",
|
||||
"item.quickly.speedpowderwaterhoe": "bewässerte Fluchtpulverfeldhacke",
|
||||
"item.quickly.speedpowdershears": "Fluchtpulverschere",
|
||||
"item.quickly.quickiepowderaxe": "Eilpulveraxt",
|
||||
"item.quickly.quickiepowderpickaxe": "Eilpulverspitzhacke",
|
||||
"item.quickly.quickiepowdershovel": "Eilpulverschaufel",
|
||||
"item.quickly.quickiepowderhoe": "Eilpulverfeldhacke",
|
||||
"item.quickly.quickiepowderwaterhoe": "bewässerte Eilpulverfeldhacke",
|
||||
"item.quickly.quickiepowdershears": "Eilpulverschere",
|
||||
|
||||
"info.block.drillfuel": "Ladung: %s Bohrungen",
|
||||
"info.block.itemhoarder": "enthält: %s",
|
||||
"info.block.monsterhoarder": "Radius: %s, Brenndauer: %s Ticks",
|
||||
@@ -36,10 +23,9 @@
|
||||
"item.quickly.cottonseed": "Baumwollsaat",
|
||||
"item.quickly.dirtsalpeter": "Salpetererde",
|
||||
"item.quickly.drill": "Bohrer",
|
||||
"item.quickly.emptylavahoarder": "Lavasauger",
|
||||
"item.quickly.itemhoarder": "Itemsauger",
|
||||
"item.quickly.kelpbundle": "Seegrassbündel",
|
||||
"item.quickly.lavahoarder": "voller Lavasauger",
|
||||
"item.quickly.lavahoarder": "Lavasauger",
|
||||
"item.quickly.magnifier": "Lupe",
|
||||
"item.quickly.monsterhoarder": "Monstersauger",
|
||||
"item.quickly.oredeepslatespeedpowder": "Eilpulvertiefengesteinerz",
|
||||
@@ -54,12 +40,24 @@
|
||||
"item.quickly.oxidizedcopperpowder": "oxidiertes Kupferpulver",
|
||||
"item.quickly.quickieingot": "Eilpulverbarren",
|
||||
"item.quickly.quickiepowder": "Eilpulver",
|
||||
"item.quickly.quickiepowderaxe": "Eilaxt",
|
||||
"item.quickly.quickiepowderpickaxe": "Eilspitzhacke",
|
||||
"item.quickly.quickiepowdershovel": "Eilschaufel",
|
||||
"item.quickly.quickiepowderhoe": "Eilfeldhacke",
|
||||
"item.quickly.quickiepowdershears": "Eilschere",
|
||||
"item.quickly.quickiepowderwaterhoe": "bewässerte Eilfeldhacke",
|
||||
"item.quickly.rawturquoise": "rohes Türkis",
|
||||
"item.quickly.rotten_flesh_stripes": "geschnittenes Gammelfleisch",
|
||||
"item.quickly.salpeter": "Salpeter",
|
||||
"item.quickly.sandsalpeter": "Salpetersand",
|
||||
"item.quickly.speedingot": "Fluchtpulverbarren",
|
||||
"item.quickly.speedpowder": "Fluchtpulver",
|
||||
"item.quickly.speedpowderaxe": "Fluchtaxt",
|
||||
"item.quickly.speedpowderpickaxe": "Fluchtspitzhacke",
|
||||
"item.quickly.speedpowdershovel": "Fluchtschaufel",
|
||||
"item.quickly.speedpowderhoe": "Fluchtfeldhacke",
|
||||
"item.quickly.speedpowdershears": "Fluchtschere",
|
||||
"item.quickly.speedpowderwaterhoe": "bewässerte Fluchtfeldhacke",
|
||||
"item.quickly.stub": "Stummel",
|
||||
"item.quickly.sulfor": "Schwefel",
|
||||
"item.quickly.turquoise_boots": "Türkisschuhe",
|
||||
|
||||
@@ -1,17 +1,4 @@
|
||||
{
|
||||
"item.quickly.speedpowderaxe": "speedpowder axe",
|
||||
"item.quickly.speedpowderpickaxe": "speedpowder pickaxe",
|
||||
"item.quickly.speedpowdershovel": "speedpowder shovel",
|
||||
"item.quickly.speedpowderhoe": "speedpowder hoe",
|
||||
"item.quickly.speedpowderwaterhoe": "watered speedpowder hoe",
|
||||
"item.quickly.speedpowdershears": "speedpowder shears",
|
||||
"item.quickly.quickiepowderaxe": "hurrypowder axe",
|
||||
"item.quickly.quickiepowderpickaxe": "hurrypowder pickaxe",
|
||||
"item.quickly.quickiepowdershovel": "hurrypowder shovel",
|
||||
"item.quickly.quickiepowderhoe": "hurrypowder hoe",
|
||||
"item.quickly.quickiepowderwaterhoe": "watered hurrypowder hoe",
|
||||
"item.quickly.quickiepowdershears": "hurrypowder shears",
|
||||
|
||||
"info.block.drillfuel": "Load: %s drills",
|
||||
"info.block.itemhoarder": "contains: %s",
|
||||
"info.block.monsterhoarder": "radius: %s, burn ticks: %s",
|
||||
@@ -36,10 +23,9 @@
|
||||
"item.quickly.cottonseed": "cotton seed",
|
||||
"item.quickly.dirtsalpeter": "salpeter dirt",
|
||||
"item.quickly.drill": "drill",
|
||||
"item.quickly.emptylavahoarder": "lava hoarder",
|
||||
"item.quickly.itemhoarder": "item hoarder",
|
||||
"item.quickly.kelpbundle": "kelp bundle",
|
||||
"item.quickly.lavahoarder": "filled lava hoarder",
|
||||
"item.quickly.lavahoarder": "lava hoarder",
|
||||
"item.quickly.magnifier": "magnifier",
|
||||
"item.quickly.monsterhoarder": "monster hoarder",
|
||||
"item.quickly.oredeepslatespeedpowder": "speed poweder deepslate ore",
|
||||
@@ -54,12 +40,24 @@
|
||||
"item.quickly.oxidizedcopperpowder": "oxidized copper powder",
|
||||
"item.quickly.quickieingot": "quickie powder ingot",
|
||||
"item.quickly.quickiepowder": "quickie powder",
|
||||
"item.quickly.quickiepowderaxe": "hurry axe",
|
||||
"item.quickly.quickiepowderhoe": "hurry hoe",
|
||||
"item.quickly.quickiepowderpickaxe": "hurry pickaxe",
|
||||
"item.quickly.quickiepowdershears": "hurry shears",
|
||||
"item.quickly.quickiepowdershovel": "hurry shovel",
|
||||
"item.quickly.quickiepowderwaterhoe": "watered hurry hoe",
|
||||
"item.quickly.rawturquoise": "raw turquoise",
|
||||
"item.quickly.rotten_flesh_stripes": "rotton flesh stripes",
|
||||
"item.quickly.salpeter": "salpeter",
|
||||
"item.quickly.sandsalpeter": "salpeter sand",
|
||||
"item.quickly.speedingot": "speed powder ingot",
|
||||
"item.quickly.speedpowder": "speed powder",
|
||||
"item.quickly.speedpowderaxe": "speed axe",
|
||||
"item.quickly.speedpowderhoe": "speed hoe",
|
||||
"item.quickly.speedpowderpickaxe": "speed pickaxe",
|
||||
"item.quickly.speedpowdershears": "speed shears",
|
||||
"item.quickly.speedpowdershovel": "speed shovel",
|
||||
"item.quickly.speedpowderwaterhoe": "watered speed hoe",
|
||||
"item.quickly.stub": "stub",
|
||||
"item.quickly.sulfor": "sulfor",
|
||||
"item.quickly.turquoise_boots": "turquoise boots",
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"parent": "quickly:block/emptylavahoarder",
|
||||
"display": {
|
||||
"thirdperson": {
|
||||
"rotation": [ 10, -45, 170 ],
|
||||
"translation": [ 0, 1.5, -2.75 ],
|
||||
"scale": [ 0.375, 0.375, 0.375 ]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,7 @@
|
||||
"b": "minecraft:bucket"
|
||||
},
|
||||
"result": {
|
||||
"id": "quickly:emptylavahoarder",
|
||||
"id": "quickly:lavahoarder",
|
||||
"count": 1
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user