Fixes, tree WIP

This commit is contained in:
paulevsGitch 2020-12-27 14:03:11 +03:00
parent f18cf5c073
commit 58124139d5
7 changed files with 90 additions and 17 deletions

View file

@ -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));

View file

@ -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"),

View file

@ -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;
}
}

View file

@ -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)

View file

@ -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;
}
}