Jump to content

Recommended Posts

Posted

So i want to display on the block the power level with different textures. I have the textures, the blockstates and everything registered and ready to go. If i manually enter the different values into 

getActualState(IBlockState state, IBlockAccess world, BlockPos pos);

Then the block switches the textures over no problem.

However, i am using the RedstoneFlux API, and when i try to access the power level from the

getActualState(IBlockState state, IBlockAccess world, BlockPos pos);

method, it always returns 0. No matter what i try. I have also tried using the

getExtendedState(IBlockState state, IBlockAccess world, BlockPos pos);

method as well to no avail.

 

TileEntitySynthesiser.java

Spoiler

private EnergyStorage storage = new EnergyStorage(140000, 2000);

 


    @Override
    public int getEnergyStored(EnumFacing from) {
        return this.storage.getEnergyStored();
    }

    @Override
    public int getMaxEnergyStored(EnumFacing from) {
        return this.storage.getMaxEnergyStored();
    }

    @Override
    public boolean canConnectEnergy(EnumFacing from) {
        if (from.equals(EnumFacing.DOWN)) {
            return true;
        }
        return false;
    }

    @Override
    public int extractEnergy(EnumFacing from, int maxExtract, boolean simulate) {
        return this.storage.extractEnergy(maxExtract, simulate);
    }

    @Override
    public int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate) {
        this.markDirty();
        return this.storage.receiveEnergy(maxReceive, simulate);
    }

 

 

 

BlockSynthesiser.java

Spoiler

package com.zeher.zehercraft.processing.core.block;

import com.zeher.zehercraft.processing.core.tile.TileEntitySynthesiser;
import com.zeher.zeherlib.mod.block.ModBlockContainer;

import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.SoundEvents;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumBlockRenderType;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;

public class BlockSynthesiser extends ModBlockContainer {
    
    public static final PropertyInteger ENERGY = PropertyInteger.create("energy", 0, 14);
    
    public BlockSynthesiser(String name, Material material, String tool, int harvest, int hardness, int resistance, CreativeTabs tab) {
        super(name, material, tool, harvest, hardness, resistance, tab);
        
        this.setDefaultState(this.blockState.getBaseState().withProperty(ENERGY, 0));
    }

    @Override
    public boolean isFullCube(IBlockState state) {
        return false;
    }

    @Override
    public boolean isOpaqueCube(IBlockState state) {
        return false;
    }

    @Override
    public void onBlockClicked(World worldIn, BlockPos pos, EntityPlayer playerIn) {
        TileEntitySynthesiser tile = (TileEntitySynthesiser) worldIn.getTileEntity(pos);
        if (!tile.getStackInSlot(0).isEmpty()) {
            playerIn.inventory.addItemStackToInventory(tile.getStackInSlot(0));
            worldIn.playSound(pos.getX(), pos.getY(), pos.getZ(), SoundEvents.ENTITY_ITEM_PICKUP, SoundCategory.BLOCKS, 0.2F, 2F, false);
            
            System.out.println("__" + tile.getEnergyStored(EnumFacing.DOWN));
        }
    }

    @Override
    public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
        TileEntitySynthesiser tile = (TileEntitySynthesiser) worldIn.getTileEntity(pos);
        if ((!playerIn.getHeldItem(hand).isEmpty()) && (tile.getStackInSlot(0).isEmpty())) {
            ItemStack stack = playerIn.getHeldItem(hand);

            worldIn.playSound(pos.getX(), pos.getY(), pos.getZ(), SoundEvents.ENTITY_ITEM_PICKUP, SoundCategory.BLOCKS, 0.2F, 0F, false);
            
            tile.setInventorySlotContents(0, stack.copy());
            stack.shrink(1);
        }
        return true;
    }

    @Override
    public boolean hasTileEntity(IBlockState state) {
        return true;
    }

    @Override
    public TileEntity createNewTileEntity(World worldIn, int meta) {
        return new TileEntitySynthesiser();
    }

    @Override
    public EnumBlockRenderType getRenderType(IBlockState state) {
        return EnumBlockRenderType.MODEL;
    }

    @Override
    public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos) {
        return new AxisAlignedBB(0.05D, 0.0D, 0.05D, 0.95D, 1D, 0.95D);
    }
    
    @Override
    public int getMetaFromState(IBlockState state) {
        return 0;
    }
    
    @Override
    protected BlockStateContainer createBlockState() {
        return new BlockStateContainer(this, new IProperty[] { ENERGY });
    }
    
    public IBlockState getExtendedState(IBlockState state, IBlockAccess world, BlockPos pos) {
        TileEntitySynthesiser tile = (TileEntitySynthesiser) world.getTileEntity(pos);
        
        return state.withProperty(ENERGY, (tile.getEnergyStored(EnumFacing.DOWN) / 10000));
    }
}

 

Help would be greatly apprecieted :P 

Posted

Just because you have a TE doesn't mean that its data is automatically sent to the client.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted (edited)
9 hours ago, diesieben07 said:

Syncing TE data to the client:

 

Thank you very much. I remembered I have used this previously but did not fully understand it then. I understand it better now, and have made some head-way. I have managed to get the change implemented using a Container and the methods suggested above. However when the

World::notifyBlockUpdate()

is called, I am seeing the update with WAILA (and the F3 menu), but the block itself is still requiring me to actually place a block next to it to update the texture / model.

 

Added to my TE class:

Spoiler

@Override
    public int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate) {
        this.markDirty();
        world.notifyBlockUpdate(pos, world.getBlockState(pos), world.getBlockState(pos), 3);
        return this.storage.receiveEnergy(maxReceive, simulate);
    }
    
    public Container createContainer(InventoryPlayer playerInventory, EntityPlayer playerIn) {
        return new ContainerSynthesiser(playerInventory, this);
    }

 

/**
     * Called on the client with whatever tag was returned from ::getUpdateTag()
     */
    @Override
    public void handleUpdateTag(NBTTagCompound tag) {
        this.storage.readFromNBT(tag);
        
        this.readFromNBT(tag);
    }
    
    /**
     * Returns the data that should be sent to the client on initial chunk load.
     */
    @Override
    public NBTTagCompound getUpdateTag() {
        NBTTagCompound supertag = super.getUpdateTag();
        
        this.storage.writeToNBT(supertag);
        
        return supertag;
    }

    /**
     * Called to produce a subsequent packet for update.
     */
    @Override
    public SPacketUpdateTileEntity getUpdatePacket() {
        NBTTagCompound tag = this.getUpdateTag();
        this.writeToNBT(tag);
        return new SPacketUpdateTileEntity(this.pos, 0, tag);
    }

    @Override
    public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) {
        NBTTagCompound tag = pkt.getNbtCompound();
        
        this.handleUpdateTag(tag);
    }

 

EDIT: I am using the container because I have added a GUI to the block.

Edited by Zeher_Monkey
Posted
2 minutes ago, diesieben07 said:

You probably need to call notifyBlockUpdate on the client as well.

Makes sense, silly question: Where is best to do that in a TE? I have real trouble with this server/client side stuff.

Posted
Just now, Zeher_Monkey said:

Makes sense, silly question: Where is best to do that in a TE? I have real trouble with this server/client side stuff.

Never mind, got it :P

 

Put it in the

::onDataPacket()

method.

 

Cheers for the help!

Posted
1 minute ago, diesieben07 said:

After you received the server update packet.


Also: You are most likely sending too much data. You almost never want to just call writeToNbt and send that.

 

Okay, i will just send the relevant energy level, instead of writing the whole EnergyStorage object to NBT.

Posted
1 minute ago, diesieben07 said:

Writing the energy storage would be fine. But you are sending your entire TE data.

Yeah I just saw that line. I don't think it was having much of an effect, the only thing in that data (at least the read/write to NBT data) was a single ItemStack.

 

New code:

Spoiler

@Override
    public void handleUpdateTag(NBTTagCompound tag) {
        this.storage.setEnergyStored(tag.getInteger("energy"));
        
        this.readFromNBT(tag);
    }
    
    @Override
    public NBTTagCompound getUpdateTag() {
        NBTTagCompound supertag = super.getUpdateTag();
        return supertag;
    }
    
    @Override
    public SPacketUpdateTileEntity getUpdatePacket() {
        NBTTagCompound tag = this.getUpdateTag();
        
        tag.setInteger("energy", this.storage.getEnergyStored());
        
        return new SPacketUpdateTileEntity(this.pos, 0, tag);
    }

    @Override
    public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) {
        NBTTagCompound tag = pkt.getNbtCompound();
        
        world.notifyBlockUpdate(pos, world.getBlockState(pos), world.getBlockState(pos), 3);
        
        this.handleUpdateTag(tag);
    }

 

Posted (edited)
7 minutes ago, diesieben07 said:
  • Why are you not returning any data in getUpdateTag?
  • getUpdatePacket and onDataPacket should be symmetrical. onDataPacket should read data in the same way that getUpdatePacket writes it. Your case works, but its a little strange that onDataPacket delegates to handleUpdateTag, but getUpdatePacket does not delegate to getUpdateTag.
  • Same goes for getUpdateTag and handleUpdateTag. They should be symmetrical to make sense.

 

Just updated the code again. Tried to implement these. ^

 

Spoiler

@Override
    public void handleUpdateTag(NBTTagCompound tag) {
        this.storage.setEnergyStored(tag.getInteger("energy"));
        
        this.readFromNBT(tag);
    }
    
    @Override
    public NBTTagCompound getUpdateTag() {
        NBTTagCompound tag = super.getUpdateTag();

        tag.setInteger("energy", this.storage.getEnergyStored());
        
        return tag;
    }
    
    @Override
    public SPacketUpdateTileEntity getUpdatePacket() {
        NBTTagCompound tag = this.getUpdateTag();
        return new SPacketUpdateTileEntity(this.pos, 0, tag);
    }

    @Override
    public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity pkt) {
        NBTTagCompound tag = pkt.getNbtCompound();
        this.updateBlock(0);
        this.handleUpdateTag(tag);
    }

This system is mostly new to me, like I said I have used it before but did not really understand how to fully utilise it.

Edited by Zeher_Monkey
Posted (edited)
4 minutes ago, diesieben07 said:

Looks fine now.

Interesting. Because it has just stopped functioning at all. No updates client or server.

 

Edit:

It is flickering when i access the GUI. If i put an item into the slot it disappears  but i can still take it out

Edited by Zeher_Monkey
Posted (edited)
4 minutes ago, diesieben07 said:

Please clarify what you mean by "no updates on the server". Have you used the debugger? Are the methods called?

Sorry, the methods are being called, when i access the GUI, the block flickers for less than a second into the correct state. Textures and the ENERGY Property show up. Once inside the GUI, the block returns to the incorrect state of having no energy. So from ENERGY = 14 to ENERGY =  0. Inside the GUI the power bar texture still renders. When inserting an Item, it goes into the slot and disappears from view, but when i click to get it back out of the slot, it pops back into existence. The block also renders the item in-world, that acts the same as the slot.

 

EDIT:

The only thing i really have changed is moving where i set the data from

::getUpdatePacket()

to

::getUpdateTag()

 

Edited by Zeher_Monkey
Posted (edited)
8 minutes ago, diesieben07 said:

That is very strange behavior and almost impossible to debug remotely.

Okay, found the culprit.

 

::readFromNBT()

this.storage = storage.readFromNBT(compound);

 and 

::writeToNBT():

this.storage.writeToNBT(compound);

 

To save the data to NBT for regular stuff.

The NBT must have been de-synced because i left these lines in.

Edited by Zeher_Monkey

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

    • Add crash-reports with sites like https://mclo.gs/ Make a test without fastfurnace
    • From the page I downloaded the software and installed all the chipset drivers.
    • okay so i have this project (im new btw first ever project) and i keep getting this error inside my build.gradle file and if its fixed a new error appears then if thats fixed it loops!   1:29:26 PM: Executing 'runClient --scan --info'… The client will now receive all logging from the daemon (pid: 22264). The daemon log file: C:\Users\2010r\.gradle\daemon\8.8\daemon-22264.out.log Starting 23rd build in daemon [uptime: 39 mins 57.553 secs, performance: 100%, GC rate: 0.00/s, heap usage: 0% of 4 GiB] Using 28 worker leases. Now considering [C:\Users\2010r\OneDrive\Desktop\stuffiesss] as hierarchies to watch Watching the file system is configured to be enabled if available File system watching is active Transforming external-system-rt.jar with InstrumentationAnalysisTransform Transforming external-system-rt.jar with InstrumentationAnalysisTransform Transforming external-system-rt.jar with MergeInstrumentationAnalysisTransform Transforming external-system-rt.jar with ExternalDependencyInstrumentingArtifactTransform Starting Build Transforming develocity-gradle-plugin-3.17.4.jar (com.gradle:develocity-gradle-plugin:3.17.4) with InstrumentationAnalysisTransform Transforming foojay-resolver-0.7.0.jar (org.gradle.toolchains:foojay-resolver:0.7.0) with InstrumentationAnalysisTransform Transforming gson-2.9.1.jar (com.google.code.gson:gson:2.9.1) with InstrumentationAnalysisTransform Transforming develocity-gradle-plugin-3.17.4.jar (com.gradle:develocity-gradle-plugin:3.17.4) with InstrumentationAnalysisTransform Transforming develocity-gradle-plugin-3.17.4.jar (com.gradle:develocity-gradle-plugin:3.17.4) with MergeInstrumentationAnalysisTransform Transforming foojay-resolver-0.7.0.jar (org.gradle.toolchains:foojay-resolver:0.7.0) with InstrumentationAnalysisTransform Transforming foojay-resolver-0.7.0.jar (org.gradle.toolchains:foojay-resolver:0.7.0) with MergeInstrumentationAnalysisTransform Transforming gson-2.9.1.jar (com.google.code.gson:gson:2.9.1) with InstrumentationAnalysisTransform Transforming gson-2.9.1.jar (com.google.code.gson:gson:2.9.1) with MergeInstrumentationAnalysisTransform Transforming develocity-gradle-plugin-3.17.4.jar (com.gradle:develocity-gradle-plugin:3.17.4) with ExternalDependencyInstrumentingArtifactTransform Transforming foojay-resolver-0.7.0.jar (org.gradle.toolchains:foojay-resolver:0.7.0) with ExternalDependencyInstrumentingArtifactTransform Transforming gson-2.9.1.jar (com.google.code.gson:gson:2.9.1) with ExternalDependencyInstrumentingArtifactTransform Settings evaluated using settings file 'C:\Users\2010r\OneDrive\Desktop\stuffiesss\settings.gradle'. Projects loaded. Root project using build file 'C:\Users\2010r\OneDrive\Desktop\stuffiesss\build.gradle'. Included projects: [root project 'stuffiesss'] > Configure project : Evaluating root project 'stuffiesss' using build file 'C:\Users\2010r\OneDrive\Desktop\stuffiesss\build.gradle'. Transforming ForgeGradle-6.0.36.jar (net.minecraftforge.gradle:ForgeGradle:6.0.36) with InstrumentationAnalysisTransform Transforming commons-io-2.11.0.jar (commons-io:commons-io:2.11.0) with InstrumentationAnalysisTransform Transforming JarJarSelector-0.3.19.jar (net.minecraftforge:JarJarSelector:0.3.19) with InstrumentationAnalysisTransform Transforming JarJarMetadata-0.3.19.jar (net.minecraftforge:JarJarMetadata:0.3.19) with InstrumentationAnalysisTransform Transforming gson-2.10.1.jar (com.google.code.gson:gson:2.10.1) with InstrumentationAnalysisTransform Transforming guava-31.1-jre.jar (com.google.guava:guava:31.1-jre) with InstrumentationAnalysisTransform Transforming fastcsv-2.2.1.jar (de.siegmar:fastcsv:2.2.1) with InstrumentationAnalysisTransform Transforming artifactural-3.0.20.jar (net.minecraftforge:artifactural:3.0.20) with InstrumentationAnalysisTransform Transforming unsafe-0.2.0.jar (net.minecraftforge:unsafe:0.2.0) with InstrumentationAnalysisTransform Transforming maven-artifact-3.9.1.jar (org.apache.maven:maven-artifact:3.9.1) with InstrumentationAnalysisTransform Transforming httpclient-4.5.14.jar (org.apache.httpcomponents:httpclient:4.5.14) with InstrumentationAnalysisTransform Transforming srgutils-0.5.10.jar (net.minecraftforge:srgutils:0.5.10) with InstrumentationAnalysisTransform Transforming DiffPatch-2.0.12-all.jar (net.minecraftforge:DiffPatch:2.0.12) with InstrumentationAnalysisTransform Transforming failureaccess-1.0.1.jar (com.google.guava:failureaccess:1.0.1) with InstrumentationAnalysisTransform Transforming listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar (com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava) with InstrumentationAnalysisTransform Transforming jsr305-3.0.2.jar (com.google.code.findbugs:jsr305:3.0.2) with InstrumentationAnalysisTransform Transforming checker-qual-3.12.0.jar (org.checkerframework:checker-qual:3.12.0) with InstrumentationAnalysisTransform Transforming error_prone_annotations-2.11.0.jar (com.google.errorprone:error_prone_annotations:2.11.0) with InstrumentationAnalysisTransform Transforming j2objc-annotations-1.3.jar (com.google.j2objc:j2objc-annotations:1.3) with InstrumentationAnalysisTransform Transforming plexus-utils-3.5.1.jar (org.codehaus.plexus:plexus-utils:3.5.1) with InstrumentationAnalysisTransform Transforming commons-lang3-3.9.jar (org.apache.commons:commons-lang3:3.9) with InstrumentationAnalysisTransform Transforming httpcore-4.4.16.jar (org.apache.httpcomponents:httpcore:4.4.16) with InstrumentationAnalysisTransform Transforming commons-logging-1.2.jar (commons-logging:commons-logging:1.2) with InstrumentationAnalysisTransform Transforming commons-codec-1.11.jar (commons-codec:commons-codec:1.11) with InstrumentationAnalysisTransform Transforming fastutil-8.3.1.jar (it.unimi.dsi:fastutil:8.3.1) with InstrumentationAnalysisTransform Transforming commons-compress-1.18.jar (org.apache.commons:commons-compress:1.18) with InstrumentationAnalysisTransform Transforming xz-1.8.jar (org.tukaani:xz:1.8) with InstrumentationAnalysisTransform Transforming jopt-simple-5.0.4.jar (net.sf.jopt-simple:jopt-simple:5.0.4) with InstrumentationAnalysisTransform Transforming noexception-1.7.1.jar (com.machinezoo.noexception:noexception:1.7.1) with InstrumentationAnalysisTransform Transforming slf4j-simple-1.7.30.jar (org.slf4j:slf4j-simple:1.7.30) with InstrumentationAnalysisTransform Transforming slf4j-api-1.7.30.jar (org.slf4j:slf4j-api:1.7.30) with InstrumentationAnalysisTransform Transforming ForgeGradle-6.0.36.jar (net.minecraftforge.gradle:ForgeGradle:6.0.36) with InstrumentationAnalysisTransform Transforming ForgeGradle-6.0.36.jar (net.minecraftforge.gradle:ForgeGradle:6.0.36) with MergeInstrumentationAnalysisTransform Transforming commons-io-2.11.0.jar (commons-io:commons-io:2.11.0) with InstrumentationAnalysisTransform Transforming commons-io-2.11.0.jar (commons-io:commons-io:2.11.0) with MergeInstrumentationAnalysisTransform Transforming JarJarSelector-0.3.19.jar (net.minecraftforge:JarJarSelector:0.3.19) with InstrumentationAnalysisTransform Transforming JarJarSelector-0.3.19.jar (net.minecraftforge:JarJarSelector:0.3.19) with MergeInstrumentationAnalysisTransform Transforming ForgeGradle-6.0.36.jar (net.minecraftforge.gradle:ForgeGradle:6.0.36) with ExternalDependencyInstrumentingArtifactTransform Transforming JarJarMetadata-0.3.19.jar (net.minecraftforge:JarJarMetadata:0.3.19) with InstrumentationAnalysisTransform Transforming JarJarMetadata-0.3.19.jar (net.minecraftforge:JarJarMetadata:0.3.19) with MergeInstrumentationAnalysisTransform Transforming commons-io-2.11.0.jar (commons-io:commons-io:2.11.0) with ExternalDependencyInstrumentingArtifactTransform Transforming JarJarSelector-0.3.19.jar (net.minecraftforge:JarJarSelector:0.3.19) with ExternalDependencyInstrumentingArtifactTransform Transforming gson-2.10.1.jar (com.google.code.gson:gson:2.10.1) with InstrumentationAnalysisTransform Transforming gson-2.10.1.jar (com.google.code.gson:gson:2.10.1) with MergeInstrumentationAnalysisTransform Transforming JarJarMetadata-0.3.19.jar (net.minecraftforge:JarJarMetadata:0.3.19) with ExternalDependencyInstrumentingArtifactTransform Transforming guava-31.1-jre.jar (com.google.guava:guava:31.1-jre) with InstrumentationAnalysisTransform Transforming guava-31.1-jre.jar (com.google.guava:guava:31.1-jre) with MergeInstrumentationAnalysisTransform Transforming gson-2.10.1.jar (com.google.code.gson:gson:2.10.1) with ExternalDependencyInstrumentingArtifactTransform Transforming fastcsv-2.2.1.jar (de.siegmar:fastcsv:2.2.1) with InstrumentationAnalysisTransform Transforming fastcsv-2.2.1.jar (de.siegmar:fastcsv:2.2.1) with MergeInstrumentationAnalysisTransform Transforming guava-31.1-jre.jar (com.google.guava:guava:31.1-jre) with ExternalDependencyInstrumentingArtifactTransform Transforming artifactural-3.0.20.jar (net.minecraftforge:artifactural:3.0.20) with InstrumentationAnalysisTransform Transforming fastcsv-2.2.1.jar (de.siegmar:fastcsv:2.2.1) with ExternalDependencyInstrumentingArtifactTransform Transforming artifactural-3.0.20.jar (net.minecraftforge:artifactural:3.0.20) with MergeInstrumentationAnalysisTransform Transforming unsafe-0.2.0.jar (net.minecraftforge:unsafe:0.2.0) with InstrumentationAnalysisTransform Transforming unsafe-0.2.0.jar (net.minecraftforge:unsafe:0.2.0) with MergeInstrumentationAnalysisTransform Transforming artifactural-3.0.20.jar (net.minecraftforge:artifactural:3.0.20) with ExternalDependencyInstrumentingArtifactTransform Transforming maven-artifact-3.9.1.jar (org.apache.maven:maven-artifact:3.9.1) with InstrumentationAnalysisTransform Transforming maven-artifact-3.9.1.jar (org.apache.maven:maven-artifact:3.9.1) with MergeInstrumentationAnalysisTransform Transforming unsafe-0.2.0.jar (net.minecraftforge:unsafe:0.2.0) with ExternalDependencyInstrumentingArtifactTransform Transforming httpclient-4.5.14.jar (org.apache.httpcomponents:httpclient:4.5.14) with InstrumentationAnalysisTransform Transforming httpclient-4.5.14.jar (org.apache.httpcomponents:httpclient:4.5.14) with MergeInstrumentationAnalysisTransform Transforming maven-artifact-3.9.1.jar (org.apache.maven:maven-artifact:3.9.1) with ExternalDependencyInstrumentingArtifactTransform Transforming srgutils-0.5.10.jar (net.minecraftforge:srgutils:0.5.10) with InstrumentationAnalysisTransform Transforming httpclient-4.5.14.jar (org.apache.httpcomponents:httpclient:4.5.14) with ExternalDependencyInstrumentingArtifactTransform Transforming srgutils-0.5.10.jar (net.minecraftforge:srgutils:0.5.10) with MergeInstrumentationAnalysisTransform Transforming DiffPatch-2.0.12-all.jar (net.minecraftforge:DiffPatch:2.0.12) with InstrumentationAnalysisTransform Transforming srgutils-0.5.10.jar (net.minecraftforge:srgutils:0.5.10) with ExternalDependencyInstrumentingArtifactTransform Transforming DiffPatch-2.0.12-all.jar (net.minecraftforge:DiffPatch:2.0.12) with MergeInstrumentationAnalysisTransform Transforming failureaccess-1.0.1.jar (com.google.guava:failureaccess:1.0.1) with InstrumentationAnalysisTransform Transforming failureaccess-1.0.1.jar (com.google.guava:failureaccess:1.0.1) with MergeInstrumentationAnalysisTransform Transforming DiffPatch-2.0.12-all.jar (net.minecraftforge:DiffPatch:2.0.12) with ExternalDependencyInstrumentingArtifactTransform Transforming listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar (com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava) with InstrumentationAnalysisTransform Transforming listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar (com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava) with MergeInstrumentationAnalysisTransform Transforming failureaccess-1.0.1.jar (com.google.guava:failureaccess:1.0.1) with ExternalDependencyInstrumentingArtifactTransform Transforming jsr305-3.0.2.jar (com.google.code.findbugs:jsr305:3.0.2) with InstrumentationAnalysisTransform Transforming jsr305-3.0.2.jar (com.google.code.findbugs:jsr305:3.0.2) with MergeInstrumentationAnalysisTransform Transforming listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar (com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava) with ExternalDependencyInstrumentingArtifactTransform Transforming checker-qual-3.12.0.jar (org.checkerframework:checker-qual:3.12.0) with InstrumentationAnalysisTransform Transforming checker-qual-3.12.0.jar (org.checkerframework:checker-qual:3.12.0) with MergeInstrumentationAnalysisTransform Transforming jsr305-3.0.2.jar (com.google.code.findbugs:jsr305:3.0.2) with ExternalDependencyInstrumentingArtifactTransform Transforming error_prone_annotations-2.11.0.jar (com.google.errorprone:error_prone_annotations:2.11.0) with InstrumentationAnalysisTransform Transforming error_prone_annotations-2.11.0.jar (com.google.errorprone:error_prone_annotations:2.11.0) with MergeInstrumentationAnalysisTransform Transforming j2objc-annotations-1.3.jar (com.google.j2objc:j2objc-annotations:1.3) with InstrumentationAnalysisTransform Transforming j2objc-annotations-1.3.jar (com.google.j2objc:j2objc-annotations:1.3) with MergeInstrumentationAnalysisTransform Transforming error_prone_annotations-2.11.0.jar (com.google.errorprone:error_prone_annotations:2.11.0) with ExternalDependencyInstrumentingArtifactTransform Transforming plexus-utils-3.5.1.jar (org.codehaus.plexus:plexus-utils:3.5.1) with InstrumentationAnalysisTransform Transforming checker-qual-3.12.0.jar (org.checkerframework:checker-qual:3.12.0) with ExternalDependencyInstrumentingArtifactTransform Transforming j2objc-annotations-1.3.jar (com.google.j2objc:j2objc-annotations:1.3) with ExternalDependencyInstrumentingArtifactTransform Transforming plexus-utils-3.5.1.jar (org.codehaus.plexus:plexus-utils:3.5.1) with MergeInstrumentationAnalysisTransform Transforming commons-lang3-3.9.jar (org.apache.commons:commons-lang3:3.9) with InstrumentationAnalysisTransform Transforming commons-lang3-3.9.jar (org.apache.commons:commons-lang3:3.9) with MergeInstrumentationAnalysisTransform Transforming plexus-utils-3.5.1.jar (org.codehaus.plexus:plexus-utils:3.5.1) with ExternalDependencyInstrumentingArtifactTransform Transforming httpcore-4.4.16.jar (org.apache.httpcomponents:httpcore:4.4.16) with InstrumentationAnalysisTransform Transforming httpcore-4.4.16.jar (org.apache.httpcomponents:httpcore:4.4.16) with MergeInstrumentationAnalysisTransform Transforming commons-lang3-3.9.jar (org.apache.commons:commons-lang3:3.9) with ExternalDependencyInstrumentingArtifactTransform Transforming commons-logging-1.2.jar (commons-logging:commons-logging:1.2) with InstrumentationAnalysisTransform Transforming commons-logging-1.2.jar (commons-logging:commons-logging:1.2) with MergeInstrumentationAnalysisTransform Transforming httpcore-4.4.16.jar (org.apache.httpcomponents:httpcore:4.4.16) with ExternalDependencyInstrumentingArtifactTransform Transforming commons-codec-1.11.jar (commons-codec:commons-codec:1.11) with InstrumentationAnalysisTransform Transforming commons-codec-1.11.jar (commons-codec:commons-codec:1.11) with MergeInstrumentationAnalysisTransform Transforming commons-logging-1.2.jar (commons-logging:commons-logging:1.2) with ExternalDependencyInstrumentingArtifactTransform Transforming fastutil-8.3.1.jar (it.unimi.dsi:fastutil:8.3.1) with InstrumentationAnalysisTransform Transforming fastutil-8.3.1.jar (it.unimi.dsi:fastutil:8.3.1) with MergeInstrumentationAnalysisTransform Transforming commons-codec-1.11.jar (commons-codec:commons-codec:1.11) with ExternalDependencyInstrumentingArtifactTransform Transforming commons-compress-1.18.jar (org.apache.commons:commons-compress:1.18) with InstrumentationAnalysisTransform Transforming commons-compress-1.18.jar (org.apache.commons:commons-compress:1.18) with MergeInstrumentationAnalysisTransform Transforming fastutil-8.3.1.jar (it.unimi.dsi:fastutil:8.3.1) with ExternalDependencyInstrumentingArtifactTransform Transforming xz-1.8.jar (org.tukaani:xz:1.8) with InstrumentationAnalysisTransform Transforming xz-1.8.jar (org.tukaani:xz:1.8) with MergeInstrumentationAnalysisTransform Transforming commons-compress-1.18.jar (org.apache.commons:commons-compress:1.18) with ExternalDependencyInstrumentingArtifactTransform Transforming jopt-simple-5.0.4.jar (net.sf.jopt-simple:jopt-simple:5.0.4) with InstrumentationAnalysisTransform Transforming xz-1.8.jar (org.tukaani:xz:1.8) with ExternalDependencyInstrumentingArtifactTransform Transforming jopt-simple-5.0.4.jar (net.sf.jopt-simple:jopt-simple:5.0.4) with MergeInstrumentationAnalysisTransform Transforming noexception-1.7.1.jar (com.machinezoo.noexception:noexception:1.7.1) with InstrumentationAnalysisTransform Transforming noexception-1.7.1.jar (com.machinezoo.noexception:noexception:1.7.1) with MergeInstrumentationAnalysisTransform Transforming slf4j-simple-1.7.30.jar (org.slf4j:slf4j-simple:1.7.30) with InstrumentationAnalysisTransform Transforming jopt-simple-5.0.4.jar (net.sf.jopt-simple:jopt-simple:5.0.4) with ExternalDependencyInstrumentingArtifactTransform Transforming slf4j-simple-1.7.30.jar (org.slf4j:slf4j-simple:1.7.30) with MergeInstrumentationAnalysisTransform Transforming slf4j-api-1.7.30.jar (org.slf4j:slf4j-api:1.7.30) with InstrumentationAnalysisTransform Transforming noexception-1.7.1.jar (com.machinezoo.noexception:noexception:1.7.1) with ExternalDependencyInstrumentingArtifactTransform Transforming slf4j-api-1.7.30.jar (org.slf4j:slf4j-api:1.7.30) with MergeInstrumentationAnalysisTransform Transforming slf4j-simple-1.7.30.jar (org.slf4j:slf4j-simple:1.7.30) with ExternalDependencyInstrumentingArtifactTransform Transforming slf4j-api-1.7.30.jar (org.slf4j:slf4j-api:1.7.30) with ExternalDependencyInstrumentingArtifactTransform Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.8/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. Watched directory hierarchies: [] Publishing a build scan to scans.gradle.com requires accepting the Gradle Terms of Use defined at https://gradle.com/help/legal-terms-of-use. Do you accept these terms? [yes, no]  FAILURE: Build failed with an exception. * Where: Build file 'C:\Users\2010r\OneDrive\Desktop\stuffiesss\build.gradle' line: 35 * What went wrong: A problem occurred evaluating root project 'stuffiesss'. > Cannot get property 'mappingsChannel' on extra properties extension as it does not exist * Try: > Run with --stacktrace option to get the stack trace. > Run with --debug option to get more log output. > Get more help at https://help.gradle.org. BUILD FAILED in 691ms then here is the code    buildscript { repositories { maven { url = 'https://maven.minecraftforge.net/' } mavenCentral() } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:6.0.36' } } apply plugin: 'net.minecraftforge.gradle' apply plugin: 'eclipse' apply plugin: 'idea' group = 'com.temmiemanz.backroommod' archivesBaseName = 'backroommod' version = '1.0.0' java.toolchain.languageVersion = JavaLanguageVersion.of(17) //Proper naming convention for the Properties: These were fixed to adhere to the casing convention ext { minecraft_version = "1.19.2" forge_version = "43.2.0" forgeVer = "${minecraft_version}-${forge_version}" mappingsChannel = "official" mappingsVersion = minecraft_version } sourceSets.main.resources { srcDir 'src/main/resources' } minecraft { // Use the ext object *explicitly using ext.* mappings channel: ext.mappingsChannel, version: ext.mappingsVersion // Use ext to make sure every call is made to the external properties and not the property itself version = "${ext.minecraft_version}-${ext.forge_version}" runs { client { workingDirectory project.file('run') args '--username', 'Dev' property 'forge.logging.console.level', 'info' } server { workingDirectory project.file('run') property 'forge.logging.console.level', 'info' args '--nogui' } } } processResources { inputs.property "version", project.version inputs.property "mcversion", ext.minecraft_version from(sourceSets.main.resources.srcDirs) { include 'mcmod.info' expand 'version': project.version, 'mcversion': project.ext.minecraft_version } from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } } dependencies { minecraft "net.minecraftforge:forge:${ext.minecraft_version}-${ext.forge_version}" } jar { manifest { attributes([ "Specification-Title": "backroommod", "Specification-Vendor": "temmiemanz", "Specification-Version": "1", "Implementation-Title": project.name, "Implementation-Version": "${version}", "Implementation-Vendor": "temmiemanz", "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") ]) } } (sorry about the weird formating)  
    • [13:02:36] [main/ERROR]:Mixin config fabric-item-api-v1.client.mixins.json does not specify "minVersion" property [13:02:36] [main/ERROR]:Mixin config entity_model_features.mixins.json does not specify "minVersion" property [13:02:37] [main/ERROR]:Mixin config beautifulcampfires.mixins.json does not specify "minVersion" property [13:02:37] [main/ERROR]:Mixin config portablespawner.mixins.json does not specify "minVersion" property [13:02:37] [main/ERROR]:Mixin config celestisynth.mixins.json does not specify "minVersion" property [13:02:37] [main/ERROR]:Mixin config fabric-item-group-api-v1.mixins.json does not specify "minVersion" property [13:02:37] [main/ERROR]:Mixin config fabric-item-group-api-v1.client.mixins.json does not specify "minVersion" property [13:02:37] [main/ERROR]:Mixin config fabric-data-attachment-api-v1.mixins.json does not specify "minVersion" property [13:02:37] [main/ERROR]:Mixin config fabric-data-attachment-api-v1.client.mixins.json does not specify "minVersion" property [13:02:37] [main/ERROR]:Mixin config pipeorgans.mixins.json does not specify "minVersion" property [13:02:42] [main/ERROR]:com.electronwill.nightconfig.core.io.ParsingException: Invalid TOML data: entry "[fastfurnace]" defined twice in its table. [13:02:42] [main/ERROR]:com.electronwill.nightconfig.core.io.ParsingException: Invalid TOML data: entry "[fastfurnace]" defined twice in its table.
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

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