Fixes, tree WIP
This commit is contained in:
parent
f18cf5c073
commit
58124139d5
7 changed files with 90 additions and 17 deletions
|
@ -17,7 +17,7 @@ import ru.betterend.blocks.basis.BlockBase;
|
|||
import ru.betterend.registry.EndBlocks;
|
||||
|
||||
public class BlockBlueVineLantern extends BlockBase {
|
||||
public static final BooleanProperty NATURAL = BooleanProperty.of("natural");
|
||||
public static final BooleanProperty NATURAL = BlockProperties.NATURAL;
|
||||
|
||||
public BlockBlueVineLantern() {
|
||||
super(FabricBlockSettings.of(Material.WOOD).breakByTool(FabricToolTags.AXES).sounds(BlockSoundGroup.WART_BLOCK).luminance(15));
|
||||
|
|
|
@ -14,6 +14,7 @@ public class BlockProperties {
|
|||
public static final BooleanProperty HAS_LIGHT = BooleanProperty.of("has_light");
|
||||
public static final BooleanProperty ACTIVE = BooleanProperty.of("active");
|
||||
public static final IntProperty ROTATION = IntProperty.of("rotation", 0, 3);
|
||||
public static final BooleanProperty NATURAL = BooleanProperty.of("natural");
|
||||
|
||||
public static enum TripleShape implements StringIdentifiable {
|
||||
TOP("top"),
|
||||
|
|
|
@ -5,12 +5,25 @@ import net.minecraft.block.Block;
|
|||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.block.MaterialColor;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.sound.SoundCategory;
|
||||
import net.minecraft.sound.SoundEvents;
|
||||
import net.minecraft.state.StateManager;
|
||||
import net.minecraft.state.property.BooleanProperty;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.hit.BlockHitResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import ru.betterend.blocks.basis.BlockBase;
|
||||
import ru.betterend.registry.EndBlocks;
|
||||
import ru.betterend.registry.EndItems;
|
||||
import ru.betterend.util.BlocksHelper;
|
||||
|
||||
public class BlockUmbrellaTreeCluster extends BlockBase {
|
||||
public static final BooleanProperty NATURAL = BooleanProperty.of("natural");
|
||||
public static final BooleanProperty NATURAL = BlockProperties.NATURAL;
|
||||
|
||||
public BlockUmbrellaTreeCluster() {
|
||||
super(FabricBlockSettings.copyOf(Blocks.NETHER_WART_BLOCK)
|
||||
|
@ -23,4 +36,20 @@ public class BlockUmbrellaTreeCluster extends BlockBase {
|
|||
protected void appendProperties(StateManager.Builder<Block, BlockState> stateManager) {
|
||||
stateManager.add(NATURAL);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) {
|
||||
ItemStack stack = player.getMainHandStack();
|
||||
if (stack.getItem() == Items.GLASS_BOTTLE) {
|
||||
if (!player.isCreative()) {
|
||||
stack.decrement(1);
|
||||
}
|
||||
stack = new ItemStack(EndItems.UMBRELLA_CLUSTER_JUICE);
|
||||
player.giveItemStack(stack);
|
||||
world.playSound(pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, SoundEvents.ITEM_BOTTLE_FILL, SoundCategory.BLOCKS, 1, 1, false);
|
||||
BlocksHelper.setWithUpdate(world, pos, EndBlocks.UMBRELLA_TREE_CLUSTER_EMPTY.getDefaultState().with(NATURAL, state.get(NATURAL)));
|
||||
return ActionResult.SUCCESS;
|
||||
}
|
||||
return ActionResult.FAIL;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ import ru.betterend.registry.EndBlocks;
|
|||
import ru.betterend.util.BlocksHelper;
|
||||
|
||||
public class BlockUmbrellaTreeClusterEmpty extends BlockBase {
|
||||
public static final BooleanProperty NATURAL = BooleanProperty.of("natural");
|
||||
public static final BooleanProperty NATURAL = BlockProperties.NATURAL;
|
||||
|
||||
public BlockUmbrellaTreeClusterEmpty() {
|
||||
super(FabricBlockSettings.copyOf(Blocks.NETHER_WART_BLOCK)
|
||||
|
|
|
@ -52,7 +52,7 @@ public class EndStoneSmelterBlockEntity extends LockableContainerBlockEntity imp
|
|||
private static final int[] TOP_SLOTS = new int[] { 0, 1 };
|
||||
private static final int[] BOTTOM_SLOTS = new int[] { 2, 3 };
|
||||
private static final int[] SIDE_SLOTS = new int[] { 3 };
|
||||
private static final Map<Item, Integer> availableFuels = Maps.newHashMap();
|
||||
private static final Map<Item, Integer> AVAILABLE_FUELS = Maps.newHashMap();
|
||||
|
||||
private final Object2IntOpenHashMap<Identifier> recipesUsed;
|
||||
protected DefaultedList<ItemStack> inventory;
|
||||
|
@ -404,7 +404,7 @@ public class EndStoneSmelterBlockEntity extends LockableContainerBlockEntity imp
|
|||
return 0;
|
||||
} else {
|
||||
Item item = fuel.getItem();
|
||||
return availableFuels.getOrDefault(item, 0);
|
||||
return AVAILABLE_FUELS.getOrDefault(item, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -454,14 +454,14 @@ public class EndStoneSmelterBlockEntity extends LockableContainerBlockEntity imp
|
|||
}
|
||||
|
||||
public static boolean canUseAsFuel(ItemStack stack) {
|
||||
return availableFuels.containsKey(stack.getItem());
|
||||
return AVAILABLE_FUELS.containsKey(stack.getItem());
|
||||
}
|
||||
|
||||
public static void registerFuel(ItemConvertible fuel, int time) {
|
||||
if (availableFuels.containsKey(fuel)) {
|
||||
availableFuels.replace(fuel.asItem(), time);
|
||||
if (AVAILABLE_FUELS.containsKey(fuel)) {
|
||||
AVAILABLE_FUELS.replace(fuel.asItem(), time);
|
||||
} else {
|
||||
availableFuels.put(fuel.asItem(), time);
|
||||
AVAILABLE_FUELS.put(fuel.asItem(), time);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -471,6 +471,6 @@ public class EndStoneSmelterBlockEntity extends LockableContainerBlockEntity imp
|
|||
}
|
||||
|
||||
public static Map<Item, Integer> availableFuels() {
|
||||
return availableFuels;
|
||||
return AVAILABLE_FUELS;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue