Jump to content

[ [ Trying to grow budding Gems ] ]


Tachsauce

Recommended Posts

I've been working on a mod that introduces new gems and variants of the Amethyst geodes. An issue I've been running into is when trying to get My new buds to grow from the budding blocks is "The method defaultBlockState() is undefined for the type RegistryObject<AmberClusterBlock>"

   public void randomTick(BlockState p_152728_, ServerLevel p_152729_, BlockPos p_152730_, Random p_152731_) {
          if (p_152731_.nextInt(5) == 0) {
             Direction direction = DIRECTIONS[p_152731_.nextInt(DIRECTIONS.length)];
             BlockPos blockpos = p_152730_.relative(direction);
             BlockState blockstate = p_152729_.getBlockState(blockpos);
             RegistryObject<AmberClusterBlock> block = null;
             if (canClusterGrowAtState(blockstate)) {
                block = Blockinit.Small_Amber_Bud;
             } else if (blockstate.is(Blockinit.Small_Amber_Bud) && blockstate.getValue(AmberClusterBlock.FACING) == direction) {
                block = Blockinit.Medium_Amber_Bud;
             } else if (blockstate.is(Blockinit.Medium_Amber_Bud) && blockstate.getValue(AmberClusterBlock.FACING) == direction) {
                block = Blockinit.Large_Amber_Bud;
             } else if (blockstate.is(Blockinit.Large_Amber_Bud) && blockstate.getValue(AmberClusterBlock.FACING) == direction) {
                block = Blockinit.Amber_Cluster_Block;
             }

             if (block != null) {
                BlockState blockstate1 = block.defaultBlockState().setValue(AmberClusterBlock.FACING, direction).setValue(AmberClusterBlock.WATERLOGGED, Boolean.valueOf(blockstate.getFluidState().getType() == Fluids.WATER));
                p_152729_.setBlockAndUpdate(blockpos, blockstate1);
             }

 

Anyone know what's causing this?

Link to comment
Share on other sites

do you know basic java?

19 hours ago, Tachsauce said:

RegistryObject<AmberClusterBlock> block = null;

use the Block directly at this point and not a RegistryObject

 

19 hours ago, Tachsauce said:

block = Blockinit.Small_Amber_Bud;

19 hours ago, Tachsauce said:

block = Blockinit.Medium_Amber_Bud;

19 hours ago, Tachsauce said:

block = Blockinit.Large_Amber_Bud;

19 hours ago, Tachsauce said:

block = Blockinit.Amber_Cluster_Block;

then use at these points RegistryObject#get to get the Block

  • Like 1
Link to comment
Share on other sites

 public void randomTick(BlockState p_152728_, ServerLevel p_152729_, BlockPos p_152730_, Random p_152731_) {
          if (p_152731_.nextInt(5) == 0) {
             Direction direction = DIRECTIONS[p_152731_.nextInt(DIRECTIONS.length)];
             BlockPos blockpos = p_152730_.relative(direction);
             BlockState blockstate = p_152729_.getBlockState(blockpos);
             RegistryObject<Block> block = null;
               if (canClusterGrowAtState(blockstate)) {
                block = RegistryObject.of(new ResourceLocation("tachismod:small_amber_bud"), ForgeRegistries.BLOCKS);
             } else if (blockstate.is(Blocks.SMALL_AMETHYST_BUD) && blockstate.getValue(AmberClusterBlock.FACING) == direction) {
                block = RegistryObject.of(new ResourceLocation("tachismod:medium_amber_bud"), ForgeRegistries.BLOCKS);
             } else if (blockstate.is(Blocks.MEDIUM_AMETHYST_BUD) && blockstate.getValue(AmberClusterBlock.FACING) == direction) {
                block = RegistryObject.of(new ResourceLocation("tachismod:large_amber_bud"), ForgeRegistries.BLOCKS);
             } else if (blockstate.is(Blocks.LARGE_AMETHYST_BUD) && blockstate.getValue(AmberClusterBlock.FACING) == direction) {
                block = RegistryObject.of(new ResourceLocation("tachismod:amber_cluster_block"), ForgeRegistries.BLOCKS);
             }

             if (block != null) {
                BlockState blockstate1 = block.defaultBlockState().setValue(AmberClusterBlock.FACING, direction).setValue(AmberClusterBlock.WATERLOGGED, Boolean.valueOf(blockstate.getFluidState().getType() == Fluids.WATER));
                p_152729_.setBlockAndUpdate(blockpos, blockstate1);
             }

 

Not sure if this was the solution you were hoping for but its still throwing errors at me unfortunately.

Link to comment
Share on other sites

12 minutes ago, Tachsauce said:

RegistryObject<Block> block = null;

why, use Block as local variable and not RegistryObject

21 hours ago, Tachsauce said:

block = Blockinit.Small_Amber_Bud

and then add there a simple .get()

 

20 hours ago, Luis_ST said:

Learn basic Java

Official documentation: https://docs.oracle.com/javase/tutorial/
Absolute basics with an interactive editor: https://www.codecademy.com/learn/learn-java
Ongoingonline course with assignments: https://java-programming.mooc.fi/

Edited by Luis_ST
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Compare this list (client-side-only mods) with your mods: https://www.dropbox.com/scl/fi/yeldxfv8ed60e4uflc2fi/Client-Side-Only-Modlist.xlsx?rlkey=8376c5bk7b33je2tad4p3ybrg&st=qf6osvit&dl=0  
    • Crashlog: https://paste.ee/p/WrGYD I'm thinking the problem might be a client side mod but ive already checked the mod list like 5 times and still cant find the problem
    • I'm unable to join my local forge servers. When running my forge servers of seemingly any version (tested 1.18 to 1.21.1) I get an error message [Forge Version Check/WARN] [ne.mi.fm.VersionChecker/]: Failed to process update information The server continues to start up and run, however I'm unable to join. Looking for solutions? Full error message: (note last "thead warning" error seems to be unrelated and only happened once for 1.20.1) Forge version check warning has happened for every version. [09:52:31] [Forge Version Check/WARN] [ne.mi.fm.VersionChecker/]: Failed to process update information java.net.http.HttpConnectTimeoutException: HTTP connect timed out         at jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:950) ~[java.net.http:?] {}         at jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:133) ~[java.net.http:?] {}         at net.minecraftforge.fml.VersionChecker$1.openUrlString(VersionChecker.java:142) ~[fmlcore-1.20.1-47.3.10.jar%23102!/:?] {}         at net.minecraftforge.fml.VersionChecker$1.process(VersionChecker.java:180) ~[fmlcore-1.20.1-47.3.10.jar%23102!/:?] {}         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?] {}         at net.minecraftforge.fml.VersionChecker$1.run(VersionChecker.java:117) ~[fmlcore-1.20.1-47.3.10.jar%23102!/:?] {} Caused by: java.net.http.HttpConnectTimeoutException: HTTP connect timed out         at jdk.internal.net.http.ResponseTimerEvent.handle(ResponseTimerEvent.java:68) ~[java.net.http:?] {}         at jdk.internal.net.http.HttpClientImpl.purgeTimeoutsAndReturnNextDeadline(HttpClientImpl.java:1788) ~[java.net.http:?] {}         at jdk.internal.net.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:1385) ~[java.net.http:?] {} Caused by: java.net.ConnectException: HTTP connect timed out         at jdk.internal.net.http.ResponseTimerEvent.handle(ResponseTimerEvent.java:69) ~[java.net.http:?] {}         at jdk.internal.net.http.HttpClientImpl.purgeTimeoutsAndReturnNextDeadline(HttpClientImpl.java:1788) ~[java.net.http:?] {}         at jdk.internal.net.http.HttpClientImpl$SelectorManager.run(HttpClientImpl.java:1385) ~[java.net.http:?] {} [09:52:31] [Yggdrasil Key Fetcher/ERROR] [mojang/YggdrasilServicesKeyInfo]: Failed to request yggdrasil public key com.mojang.authlib.exceptions.AuthenticationUnavailableException: Cannot contact authentication server         at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:119) ~[authlib-4.0.43.jar%2375!/:?] {}         at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:91) ~[authlib-4.0.43.jar%2375!/:?] {}         at com.mojang.authlib.yggdrasil.YggdrasilServicesKeyInfo.fetch(YggdrasilServicesKeyInfo.java:94) ~[authlib-4.0.43.jar%2375!/:?] {}         at com.mojang.authlib.yggdrasil.YggdrasilServicesKeyInfo.lambda$get$1(YggdrasilServicesKeyInfo.java:81) ~[authlib-4.0.43.jar%2375!/:?] {}         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) ~[?:?] {}         at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358) ~[?:?] {}         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[?:?] {}         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?] {}         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?] {}         at java.lang.Thread.run(Thread.java:1575) ~[?:?] {} Caused by: java.net.SocketTimeoutException: Connect timed out         at sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:546) ~[?:?] {}         at sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:592) ~[?:?] {}         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) ~[?:?] {}         at java.net.Socket.connect(Socket.java:760) ~[?:?] {}         at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:304) ~[?:?] {}         at sun.net.NetworkClient.doConnect(NetworkClient.java:178) ~[?:?] {}         at sun.net.www.http.HttpClient.openServer(HttpClient.java:531) ~[?:?] {}         at sun.net.www.http.HttpClient.openServer(HttpClient.java:636) ~[?:?] {}         at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264) ~[?:?] {}         at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:377) ~[?:?] {}         at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:193) ~[?:?] {}         at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1273) ~[?:?] {}         at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1114) ~[?:?] {}         at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:179) ~[?:?] {}         at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1676) ~[?:?] {}         at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1600) ~[?:?] {}         at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223) ~[?:?] {}         at com.mojang.authlib.HttpAuthenticationService.performGetRequest(HttpAuthenticationService.java:140) ~[authlib-4.0.43.jar%2375!/:?] {}         at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:96) ~[authlib-4.0.43.jar%2375!/:?] {}         ... 9 more [09:52:31] [Server thread/WARN] [minecraft/MinecraftServer]: Can't keep up! Is the server overloaded? Running 5985ms or 119 ticks behind
    • Remove the mod tempad from the mods-folder
    • Hi, deleting the config folder did not appear to work, what mod are you referring to I could try to delete to fix the problem?
  • Topics

×
×
  • Create New...

Important Information

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