finetuning

This commit is contained in:
Jottyfan
2025-12-31 16:24:22 +01:00
parent c714d7b53a
commit c4eb56aa29
4 changed files with 36 additions and 16 deletions

View File

@@ -93,7 +93,7 @@ public class BlockDrill extends FallingBlock implements EntityBlock {
Item item = itemStack.getItem(); Item item = itemStack.getItem();
if (QuicklyItems.MAGNIFIER.equals(item)) { if (QuicklyItems.MAGNIFIER.equals(item)) {
if (!level.isClientSide() && player instanceof ServerPlayer serverPlayer) { if (!level.isClientSide() && player instanceof ServerPlayer serverPlayer) {
serverPlayer.sendSystemMessage(Component.translatable("info.block.drillfuel", state.getValue(FUEL)), false); serverPlayer.displayClientMessage(Component.translatable("info.block.drillfuel", state.getValue(FUEL)), true);
} }
} else if (loadings.containsKey(item)) { } else if (loadings.containsKey(item)) {
Integer fuelWeight = loadings.get(item); Integer fuelWeight = loadings.get(item);

View File

@@ -2,7 +2,7 @@ package de.jottyfan.minecraft.block;
import org.jspecify.annotations.Nullable; import org.jspecify.annotations.Nullable;
import de.jottyfan.minecraft.Quickly; import de.jottyfan.minecraft.item.QuicklyItems;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
@@ -69,7 +69,7 @@ public class Monsterhoarder extends Block {
} else if (Items.COPPER_TORCH.equals(itemStack.getItem())) { } else if (Items.COPPER_TORCH.equals(itemStack.getItem())) {
level.setBlock(pos, state.setValue(BURNTICKS, MINBURNTICKS), UPDATE_ALL); level.setBlock(pos, state.setValue(BURNTICKS, MINBURNTICKS), UPDATE_ALL);
itemStack.shrink(1); itemStack.shrink(1);
} else { } else if (QuicklyItems.MAGNIFIER.equals(itemStack.getItem())) {
int suckRadius = state.getValue(SUCKRADIUS); int suckRadius = state.getValue(SUCKRADIUS);
int burnTicks = state.getValue(BURNTICKS); int burnTicks = state.getValue(BURNTICKS);
Component message = Component.translatable("info.block.monsterhoarder", suckRadius, burnTicks); Component message = Component.translatable("info.block.monsterhoarder", suckRadius, burnTicks);

View File

@@ -3,13 +3,12 @@ package de.jottyfan.minecraft.block;
import java.util.function.Function; import java.util.function.Function;
import de.jottyfan.minecraft.Quickly; import de.jottyfan.minecraft.Quickly;
import de.jottyfan.minecraft.blockentity.BlockEntityRegister;
import de.jottyfan.minecraft.blockentity.DrillBlockEntity; import de.jottyfan.minecraft.blockentity.DrillBlockEntity;
import de.jottyfan.minecraft.blockentity.ItemHoarderBlockEntity; import de.jottyfan.minecraft.blockentity.ItemHoarderBlockEntity;
import de.jottyfan.minecraft.item.QuicklyItems; import de.jottyfan.minecraft.item.QuicklyItems;
import de.jottyfan.minecraft.tab.QuicklyTab; import de.jottyfan.minecraft.tab.QuicklyTab;
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder;
import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder.Factory;
import net.minecraft.core.Registry; import net.minecraft.core.Registry;
import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries; import net.minecraft.core.registries.Registries;
@@ -22,7 +21,6 @@ import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockBehaviour.Properties; import net.minecraft.world.level.block.state.BlockBehaviour.Properties;
@@ -62,16 +60,10 @@ public class QuicklyBlocks {
// TODO: add salpeter ore, sulfor ore // TODO: add salpeter ore, sulfor ore
// TODO: merge lavahoarder and emptylavahoarder into one block using a BooleanProperty for the lava fill state // TODO: merge lavahoarder and emptylavahoarder into one block using a BooleanProperty for the lava fill state
public static final BlockEntityType<ItemHoarderBlockEntity> BLOCKENTITY_ITEMHOARDER = (BlockEntityType<ItemHoarderBlockEntity>) registerBlockEntity("itemhoarderblockentity", ItemHoarderBlockEntity::new, ITEMHOARDER); public static final BlockEntityType<ItemHoarderBlockEntity> BLOCKENTITY_ITEMHOARDER = new BlockEntityRegister<ItemHoarderBlockEntity>()
public static final BlockEntityType<DrillBlockEntity> BLOCKENTITY_DRILL = (BlockEntityType<DrillBlockEntity>) registerBlockEntity("drillblockentity", DrillBlockEntity::new, DRILL); .registerBlockEntity("itemhoarderblockentity", ItemHoarderBlockEntity::new, ITEMHOARDER);
public static final BlockEntityType<DrillBlockEntity> BLOCKENTITY_DRILL = new BlockEntityRegister<DrillBlockEntity>()
private static final BlockEntityType<? extends BlockEntity> registerBlockEntity(String name, Factory<? extends BlockEntity> factory, Block block) { .registerBlockEntity("drillblockentity", DrillBlockEntity::new, DRILL);
return Registry.register(
BuiltInRegistries.BLOCK_ENTITY_TYPE,
Identifier.fromNamespaceAndPath(Quickly.MOD_ID, name),
FabricBlockEntityTypeBuilder.create(factory, block).build()
);
}
private static final Block registerBlock(String name, Properties properties) { private static final Block registerBlock(String name, Properties properties) {
return QuicklyBlocks.registerBlock(name, properties, p -> new Block(p)); return QuicklyBlocks.registerBlock(name, properties, p -> new Block(p));

View File

@@ -0,0 +1,28 @@
package de.jottyfan.minecraft.blockentity;
import de.jottyfan.minecraft.Quickly;
import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder;
import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder.Factory;
import net.minecraft.core.Registry;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.resources.Identifier;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityType;
/**
*
* @author jotty
*
*/
public class BlockEntityRegister<T extends BlockEntity> {
@SuppressWarnings("unchecked")
public BlockEntityType<T> registerBlockEntity(String name, Factory<? extends BlockEntity> factory, Block block) {
return (BlockEntityType<T>) Registry.register(
BuiltInRegistries.BLOCK_ENTITY_TYPE,
Identifier.fromNamespaceAndPath(Quickly.MOD_ID, name),
FabricBlockEntityTypeBuilder.create(factory, block).build()
);
}
}