Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

RoggyMan01

Members
  • Joined

  • Last visited

  1. So I'm trying to make an ore generate in the end, and the veins are generating in huge sizes which are not desired. The first screenshot refers to a test where I set the max vein size to 3, and the second screenshot when I set it to 1. Screenshots public class ModOreGeneration { public static void generateOres(final BiomeLoadingEvent event){ for(OreType ore: OreType.values()){ OreFeatureConfig oreFeatureConfig = new OreFeatureConfig( new BlockMatchRuleTest(Blocks.END_STONE), ore.getBlock().get().defaultBlockState(), ore.getMaxHeight() ); ConfiguredPlacement<TopSolidRangeConfig> configuredPlacement = Placement.RANGE.configured( new TopSolidRangeConfig(ore.getMinHeight(),ore.getMinHeight(), ore.getMaxHeight()) ); ConfiguredFeature<?,?> oreFeature = registerOreFeature(ore, oreFeatureConfig,configuredPlacement); event.getGeneration().addFeature(GenerationStage.Decoration.UNDERGROUND_ORES, oreFeature); } } private static ConfiguredFeature<?,?> registerOreFeature(OreType ore, OreFeatureConfig oreFeatureConfig, ConfiguredPlacement configuredPlacement){ return Registry.register(WorldGenRegistries.CONFIGURED_FEATURE, ore.getBlock().get().getRegistryName(), Feature.ORE.configured(oreFeatureConfig).decorated(configuredPlacement).squared().count(ore.getMaxVeinSize())); } } public enum OreType { RUMBANITE(Lazy.of(ModBlocks.RUMBANITE_ORE),1,15,40); private final Lazy<Block> block; private final int maxVeinSize; private final int minHeight; private final int maxHeight; OreType(Lazy<Block> block, int maxVeinSize, int minHeight, int maxHeight) { this.block = block; this.maxVeinSize = maxVeinSize; this.minHeight = minHeight; this.maxHeight = maxHeight; } public Lazy<Block> getBlock() { return block; } public int getMaxVeinSize() { return maxVeinSize; } public int getMinHeight() { return minHeight; } public int getMaxHeight() { return maxHeight; } public static OreType get(Block block){ for(OreType ore : values()){ if(block == ore.block){ return ore; } } return null; } }
  2. I've recently done some refactoring due to my first mod being very unorganized in terms of folders and file locations, and when I try to run the mod to see if I've done something wrong I get this error: Mod has failed to load correctly (java.lang.StackOverflowError: null) java.lang.StackOverflowError: null at net.roggyman01.rumbamod.blocks.ModBlocks.register(ModBlocks.java:51) ~[?:?] The log seems to be pointing at my modBlocks register method public static void register(IEventBus eventBus){ register(eventBus); //Line 51 } Could someone help me out?
  3. public void onRemove(BlockState state, World world, BlockPos pos, BlockState blockState, boolean b) { if (!state.is(blockState.getBlock())) { TileEntity tileentity = world.getBlockEntity(pos); if (tileentity instanceof ITickableTileEntity) { InventoryHelper.dropContents(world, pos, (ITickableTileEntity) tileentity); world.updateNeighbourForOutputSignal(pos, this); } super.onRemove(state, world, pos, blockState, b); } } Does this look good then?
  4. No, it implements ITickableTileEntity I know basic java, but I'm new to forge developing
  5. So should it be ... ? if (tileentity instanceof IItemHandler) {
  6. public class BasicGemFusionBenchTile extends TileEntity implements ITickableTileEntity { private final ItemStackHandler itemHandler = createHandler(); private final LazyOptional<IItemHandler> handler = LazyOptional.of(() -> itemHandler); public BasicGemFusionBenchTile(TileEntityType<?> tileEntityTypeIn) { super(tileEntityTypeIn); } public BasicGemFusionBenchTile() { this(ModTileEntities.BASIC_GEM_FUSION_BENCH_TILE.get()); } @Override public void load(BlockState state, CompoundNBT nbt) { itemHandler.deserializeNBT(nbt.getCompound("inv")); super.load(state, nbt); } @Override public CompoundNBT save(CompoundNBT compound) { compound.put("inv", itemHandler.serializeNBT()); return super.save(compound); } private ItemStackHandler createHandler(){ return new ItemStackHandler(4){ @Override protected void onContentsChanged(int slot){ setChanged(); } @Override public boolean isItemValid(int slot, @Nonnull ItemStack stack) { switch (slot){ case 0: return stack.getItem().is(ModTags.Items.PRIMITIVE_GEMS); case 1: return stack.getItem().is(ModTags.Items.PRIMITIVE_GEMS); case 2: return stack.getItem() == Items.BLAZE_POWDER; case 3: return stack.getItem() == ModItems.PERIDOT.get() || stack.getItem() == ModItems.SUGILITE.get()|| stack.getItem() == ModItems.AMBER.get(); default: return false; } } @Nonnull @Override public ItemStack insertItem(int slot, @Nonnull ItemStack stack, boolean simulate) { if (!isItemValid(slot,stack)){ return stack; } return super.insertItem(slot, stack, simulate); } }; } @Nonnull @Override public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap, @Nullable Direction side) { if(cap == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { return handler.cast(); } return super.getCapability(cap, side); } public void craft(){ Inventory inv = new Inventory(itemHandler.getSlots()); for (int i = 0; i < itemHandler.getSlots(); i++) { inv.setItem(i, itemHandler.getStackInSlot(i)); } Optional<BasicGemFusionBenchRecipe> recipe = level.getRecipeManager() .getRecipeFor(ModRecipeTypes.FUSION_RECIPE, inv, level); recipe.ifPresent(iRecipe ->{ ItemStack output = iRecipe.getResultItem(); craftTheItem(output); setChanged(); }); } private void craftTheItem(ItemStack output) { itemHandler.extractItem(0,1,false); itemHandler.extractItem(1,1,false); itemHandler.extractItem(2,1,false); //blaze powder itemHandler.insertItem(3,output,false); //result } @Override public void tick() { if(level.isClientSide()){ return; } craft(); } }
  7. I'm experimenting with tile entities, and checked the vanilla source code to see examples for making a block tile entity drop its contents on break, I'm using this method, any ideas why it isn't working? public void onRemove(BlockState state, World world, BlockPos pos, BlockState blockState, boolean b) { if (!state.is(blockState.getBlock())) { TileEntity tileentity = world.getBlockEntity(pos); if (tileentity instanceof IInventory) { InventoryHelper.dropContents(world, pos, (IInventory) tileentity); world.updateNeighbourForOutputSignal(pos, this); } super.onRemove(state, world, pos, blockState, b); } }
  8. I got it working just fine, thank you for your help!
  9. I can't find any recent information about that, how do I do that?
  10. Tried it in a new world, now it works, thank you. But when I try to shift+click items in and out of the bench, it crashes once again
  11. java.lang.RuntimeException: Slot 2 not in valid range - [0,2) at net.minecraftforge.items.ItemStackHandler.validateSlotIndex(ItemStackHandler.java:221) ~[forge:?] {re:classloading} at net.minecraftforge.items.ItemStackHandler.getStackInSlot(ItemStackHandler.java:73) ~[forge:?] {re:classloading} at net.minecraftforge.items.SlotItemHandler.getItem(SlotItemHandler.java:54) ~[forge:?] {re:classloading} at net.minecraft.inventory.container.Container.getItems(Container.java:112) ~[forge:?] {re:classloading} at net.minecraft.inventory.container.Container.addSlotListener(Container.java:98) ~[forge:?] {re:classloading} at net.minecraftforge.fml.network.NetworkHooks.openGui(NetworkHooks.java:232) ~[forge:?] {re:classloading} at net.minecraftforge.fml.network.NetworkHooks.openGui(NetworkHooks.java:192) ~[forge:?] {re:classloading} at net.roggyman.forceofgems.block.custom.BasicGemFusionBenchBlock.use(BasicGemFusionBenchBlock.java:46) ~[?:?] {re:classloading} at net.minecraft.block.AbstractBlock$AbstractBlockState.use(AbstractBlock.java:640) ~[forge:?] {re:classloading} at net.minecraft.server.management.PlayerInteractionManager.useItemOn(PlayerInteractionManager.java:338) ~[forge:?] {re:classloading} at net.minecraft.network.play.ServerPlayNetHandler.handleUseItemOn(ServerPlayNetHandler.java:958) ~[forge:?] {re:classloading} at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.handle(CPlayerTryUseItemOnBlockPacket.java:36) ~[forge:?] {re:classloading} at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.handle(CPlayerTryUseItemOnBlockPacket.java:12) ~[forge:?] {re:classloading} at net.minecraft.network.PacketThreadUtil.lambda$ensureRunningOnSameThread$0(PacketThreadUtil.java:19) ~[forge:?] {re:classloading} at net.minecraft.util.concurrent.TickDelayedTask.run(TickDelayedTask.java:17) ~[forge:?] {re:classloading} at net.minecraft.util.concurrent.ThreadTaskExecutor.doRunTask(ThreadTaskExecutor.java:136) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.util.concurrent.RecursiveEventLoop.doRunTask(RecursiveEventLoop.java:22) ~[forge:?] {re:classloading} at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:734) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:159) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.util.concurrent.ThreadTaskExecutor.pollTask(ThreadTaskExecutor.java:109) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:717) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:711) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.util.concurrent.ThreadTaskExecutor.managedBlock(ThreadTaskExecutor.java:119) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:697) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:646) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:232) ~[forge:?] {re:classloading,pl:accesstransformer:B} at java.lang.Thread.run(Thread.java:748) [?:1.8.0_202] {} [10:43:30] [Server thread/FATAL] [ne.mi.co.ForgeMod/]: Preparing crash report with UUID 5a43420c-a45c-405d-83b9-787646112246 [10:43:30] [Server thread/ERROR] [minecraft/MinecraftServer]: Encountered an unexpected exception net.minecraft.crash.ReportedException: Ticking entity at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:855) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:787) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.integrated.IntegratedServer.tickServer(IntegratedServer.java:78) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:642) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:232) ~[forge:?] {re:classloading,pl:accesstransformer:B} at java.lang.Thread.run(Thread.java:748) [?:1.8.0_202] {} Caused by: java.lang.RuntimeException: Slot 2 not in valid range - [0,2) at net.minecraftforge.items.ItemStackHandler.validateSlotIndex(ItemStackHandler.java:221) ~[forge:?] {re:classloading} at net.minecraftforge.items.ItemStackHandler.getStackInSlot(ItemStackHandler.java:73) ~[forge:?] {re:classloading} at net.minecraftforge.items.SlotItemHandler.getItem(SlotItemHandler.java:54) ~[forge:?] {re:classloading} at net.minecraft.inventory.container.Container.broadcastChanges(Container.java:120) ~[forge:?] {re:classloading} at net.minecraft.entity.player.ServerPlayerEntity.tick(ServerPlayerEntity.java:360) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.server.ServerWorld.tickNonPassenger(ServerWorld.java:611) ~[forge:?] {re:classloading} Caused by: java.lang.RuntimeException: Slot 2 not in valid range - [0,2) at net.minecraft.world.World.guardEntityTick(World.java:554) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.server.ServerWorld.tick(ServerWorld.java:404) ~[forge:?] {re:classloading} at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:851) ~[forge:?] {re:classloading,pl:accesstransformer:B} ... 5 more [10:43:30] [Server thread/ERROR] [minecraft/MinecraftServer]: This crash report has been saved to: C:\Users\Usuari\Desktop\RUMBA\modding\Force Of Gems\run\.\crash-reports\crash-2022-01-31_10.43.30-server.txt [10:43:30] [Server thread/INFO] [minecraft/MinecraftServer]: Stopping server [10:43:30] [Server thread/INFO] [minecraft/MinecraftServer]: Saving players [10:43:30] [Server thread/INFO] [minecraft/ServerPlayNetHandler]: Dev lost connection: Disconnected [10:43:30] [Server thread/INFO] [minecraft/MinecraftServer]: Dev left the game [10:43:30] [Server thread/ERROR] [minecraft/MinecraftServer]: Exception stopping the server java.lang.IllegalStateException: Removing entity while ticking! at net.minecraft.world.server.ServerWorld.removeEntity(ServerWorld.java:947) ~[forge:?] {re:classloading} at net.minecraft.world.server.ServerWorld.removePlayer(ServerWorld.java:968) ~[forge:?] {re:classloading} at net.minecraft.world.server.ServerWorld.removePlayerImmediately(ServerWorld.java:964) ~[forge:?] {re:classloading} at net.minecraft.server.management.PlayerList.remove(PlayerList.java:339) ~[forge:?] {re:classloading} at net.minecraft.network.play.ServerPlayNetHandler.onDisconnect(ServerPlayNetHandler.java:1021) ~[forge:?] {re:classloading} at net.minecraft.network.NetworkManager.handleDisconnection(NetworkManager.java:368) ~[forge:?] {re:classloading} at net.minecraft.util.concurrent.ThreadTaskExecutor.executeBlocking(ThreadTaskExecutor.java:72) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.network.play.ServerPlayNetHandler.disconnect(ServerPlayNetHandler.java:296) ~[forge:?] {re:classloading} at net.minecraft.server.management.PlayerList.removeAll(PlayerList.java:742) ~[forge:?] {re:classloading} at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:557) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:167) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:679) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:232) ~[forge:?] {re:classloading,pl:accesstransformer:B} at java.lang.Thread.run(Thread.java:748) [?:1.8.0_202] {} [10:43:30] [Render thread/INFO] [STDOUT/]: [net.minecraft.util.registry.Bootstrap:realStdoutPrintln:123]: ---- Minecraft Crash Report ---- // My bad. Time: 31/01/22 10:43 Description: Ticking entity java.lang.RuntimeException: Slot 2 not in valid range - [0,2) at net.minecraftforge.items.ItemStackHandler.validateSlotIndex(ItemStackHandler.java:221) ~[forge:?] {re:classloading} at net.minecraftforge.items.ItemStackHandler.getStackInSlot(ItemStackHandler.java:73) ~[forge:?] {re:classloading} at net.minecraftforge.items.SlotItemHandler.getItem(SlotItemHandler.java:54) ~[forge:?] {re:classloading} at net.minecraft.inventory.container.Container.broadcastChanges(Container.java:120) ~[forge:?] {re:classloading} at net.minecraft.entity.player.ServerPlayerEntity.tick(ServerPlayerEntity.java:360) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.server.ServerWorld.tickNonPassenger(ServerWorld.java:611) ~[forge:?] {re:classloading} at net.minecraft.world.World.guardEntityTick(World.java:554) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.server.ServerWorld.tick(ServerWorld.java:404) ~[forge:?] {re:classloading} at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:851) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:787) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.integrated.IntegratedServer.tickServer(IntegratedServer.java:78) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:642) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:232) ~[forge:?] {re:classloading,pl:accesstransformer:B} at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_202] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace: at net.minecraftforge.items.ItemStackHandler.validateSlotIndex(ItemStackHandler.java:221) ~[forge:?] {re:classloading} at net.minecraftforge.items.ItemStackHandler.getStackInSlot(ItemStackHandler.java:73) ~[forge:?] {re:classloading} at net.minecraftforge.items.SlotItemHandler.getItem(SlotItemHandler.java:54) ~[forge:?] {re:classloading} at net.minecraft.inventory.container.Container.broadcastChanges(Container.java:120) ~[forge:?] {re:classloading} at net.minecraft.entity.player.ServerPlayerEntity.tick(ServerPlayerEntity.java:360) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.server.ServerWorld.tickNonPassenger(ServerWorld.java:611) ~[forge:?] {re:classloading} -- Entity being ticked -- Details: Entity Type: minecraft:player (net.minecraft.entity.player.ServerPlayerEntity) Entity ID: 156 Entity Name: Dev Entity's Exact location: 17.61, 13.00, 255.41 Entity's Block location: World: (17,13,255), Chunk: (at 1,0,15 in 1,15; contains blocks 16,0,240 to 31,255,255), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Entity's Momentum: 0.00, -0.08, 0.00 Entity's Passengers: [] Entity's Vehicle: ~~ERROR~~ NullPointerException: null Stacktrace: at net.minecraft.world.World.guardEntityTick(World.java:554) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.server.ServerWorld.tick(ServerWorld.java:404) ~[forge:?] {re:classloading} -- Affected level -- Details: All players: 1 total; [ServerPlayerEntity['Dev'/156, l='ServerLevel[New World]', x=17.61, y=13.00, z=255.41]] Chunk stats: ServerChunkCache: 3118 Level dimension: minecraft:overworld Level spawn location: World: (-256,66,128), Chunk: (at 0,4,0 in -16,8; contains blocks -256,0,128 to -241,255,143), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511) Level time: 12315 game time, 12315 day time Level name: New World Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true Level weather: Rain time: 153512 (now: false), thunder time: 26909 (now: false) Known server brands: forge Level was modded: true Level storage version: 0x04ABD - Anvil Stacktrace: at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:851) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:787) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.integrated.IntegratedServer.tickServer(IntegratedServer.java:78) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:642) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:232) ~[forge:?] {re:classloading,pl:accesstransformer:B} at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_202] {}
  12. Yes, so why won't it let me add the 3 slots I previously mentioned?
  13. public class BasicGemFusionBenchTile extends TileEntity { private final ItemStackHandler itemHandler = createHandler(); private final LazyOptional<IItemHandler> handler = LazyOptional.of(() -> itemHandler); public BasicGemFusionBenchTile(TileEntityType<?> tileEntityTypeIn) { super(tileEntityTypeIn); } public BasicGemFusionBenchTile() { this(ModTileEntities.BASIC_GEM_FUSION_BENCH_TILE.get()); } @Override public void load(BlockState state, CompoundNBT nbt) { itemHandler.deserializeNBT(nbt.getCompound("inv")); super.load(state, nbt); } @Override public CompoundNBT save(CompoundNBT compound) { compound.put("inv", itemHandler.serializeNBT()); return super.save(compound); } private ItemStackHandler createHandler(){ return new ItemStackHandler(3){ @Override protected void onContentsChanged(int slot){ setChanged(); gemsCombined(); } @Override public boolean isItemValid(int slot, @Nonnull ItemStack stack) { switch (slot){ case 0: return stack.getItem() == ModItems.HEAVYSTONE.get() || stack.getItem() == ModItems.SWIFTSTONE.get() || stack.getItem() == ModItems.FIRESTONE.get(); case 1: return stack.getItem() == ModItems.HEAVYSTONE.get() || stack.getItem() == ModItems.SWIFTSTONE.get() || stack.getItem() == ModItems.FIRESTONE.get(); case 2: return stack.getItem() == Items.BLAZE_POWDER; default: return false; } } @Nonnull @Override public ItemStack insertItem(int slot, @Nonnull ItemStack stack, boolean simulate) { if (!isItemValid(slot,stack)){ return stack; } return super.insertItem(slot, stack, simulate); } }; } @Nonnull @Override public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap, @Nullable Direction side) { if(cap == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { return handler.cast(); } return super.getCapability(cap, side); } public void gemsCombined(){ Item slot1 = this.itemHandler.getStackInSlot(0).getItem(); Item slot2 = this.itemHandler.getStackInSlot(1).getItem(); if((slot1 == ModItems.FIRESTONE.get() && slot2 == ModItems.HEAVYSTONE.get()) || (slot2 == ModItems.FIRESTONE.get() && slot1 == ModItems.HEAVYSTONE.get())){ //SUGILITE } else if ((slot1 == ModItems.SWIFTSTONE.get() && slot2 == ModItems.HEAVYSTONE.get()) || (slot2 == ModItems.SWIFTSTONE.get() && slot1 == ModItems.HEAVYSTONE.get())){ //PERIDOT } else if((slot1 == ModItems.FIRESTONE.get() && slot2 == ModItems.SWIFTSTONE.get()) || (slot2 == ModItems.FIRESTONE.get() && slot1 == ModItems.SWIFTSTONE.get())){ //AMBER } else{ //eh } } }
  14. Changed the value to 3, and still doesn't seem to work

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.