Skip to content

Instantly share code, notes, and snippets.

View dazsim's full-sized avatar

workshopcraft dazsim

View GitHub Profile
package com.workshopcraft.SimpleHarvest;
import java.util.Collection;
import java.util.Iterator;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.block.BlockBush;
import net.minecraft.block.BlockCrops;
import net.minecraft.block.properties.PropertyInteger;
<blockstate> == {
"forge_marker": 1,
"defaults": <variant>, // optional, added to all variants
"variants": {
"<property>": {
"<value>": <variant> // variant definition for the specified value of this property; variants for multiple values can be specified.
},
"<variant name>": <variant>, // variant definition for the full variant string
"<variant name>": [<variant1>, ...], // array of definitions for the full variant - result will be the random variant
}
@Override
public void addCollisionBoxesToList(World world, int x, int y, int z, AxisAlignedBB blockBounds, List list, Entity collidingEntity) {
// you should use blockBounds as a "mask". Only the intersection of all BoundingBoxes and blockBounds should be added
// (this basically means that you should offset your bounding box by the block's position)
// The list is the list you should add your bounding boxes to by calling list.add(AxisAlignedBoundBox);
// Also by sure that you add different bounding box objects for every bounding box. The bounds are NOT copied when you add
// it to the list so changes to the added box will be reflected in the list. Just instantiate a new AxisAlignedBoundingBox for
// every box you add.
// You may use collidingEntity to let different entities board (only players?)
//this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 2.0F, 1.0F);
[STDOUT]: [com.immersiveminds.beimcraft.tile.TileBlock:writeToNBT:547]: {owner:"Player816",cost:12,sustainable:1b,theodolitetimer:0,sustainability:1,insulation:1,insulated:1b,breaktimer:0,meta:2,stable:1b,x:276,thermaltimer:0,y:4,z:99,id:"tileblock",stability:3,}
[14:00:51] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
[14:00:51] [Server thread/INFO]: Saving chunks for level 'New World'/The End
[14:00:52] [Server thread/INFO]: Stopping server
[14:00:52] [Server thread/INFO]: Saving players
[14:00:52] [Server thread/INFO]: Saving worlds
[14:00:52] [Server thread/INFO]: Saving chunks for level 'New World'/Overworld
[14:00:52] [Server thread/INFO]: Saving chunks for level 'New World'/Nether
[14:00:52] [Server thread/INFO]: Saving chunks for level 'New World'/The End
[14:00:52] [Server thread/INFO] [FML]: Unloading dimension 0
@dazsim
dazsim / ConstructionBlock.java
Created May 2, 2017 12:40
ConstructionBlock.java
package com.immersiveminds.beimcraft.block;
import com.immersiveminds.beimcraft.BeimCraft;
import com.immersiveminds.beimcraft.api.BlockConfig;
import com.immersiveminds.beimcraft.entity.ExtendedPlayer;
import com.immersiveminds.beimcraft.item.ItemBeimcraftArmor;
import com.immersiveminds.beimcraft.tile.TileBlock;
import net.minecraft.block.Block;
import net.minecraft.block.ITileEntityProvider;
@dazsim
dazsim / TileBlock.java
Created May 2, 2017 12:39
TileBlock.java
package com.immersiveminds.beimcraft.tile;
import com.immersiveminds.beimcraft.BeimCraft;
import com.immersiveminds.beimcraft.api.BlockPos;
import com.immersiveminds.beimcraft.entity.ExtendedPlayer;
import net.minecraft.block.Block;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.Packet;
package com.immersiveminds.beimcraft.item;
import com.immersiveminds.beimcraft.BeimCraft;
import com.immersiveminds.beimcraft.tile.TileBlock;
import com.immersiveminds.beimcraft.tile.TileSupport;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
[22:24:35] [Server thread/INFO] [FML]: Loading dimension 0 (New World) (net.minecraft.server.integrated.IntegratedServer@76241a1)
[22:24:35] [Server thread/INFO] [FML]: Loading dimension 1 (New World) (net.minecraft.server.integrated.IntegratedServer@76241a1)
[22:24:35] [Server thread/INFO] [FML]: Loading dimension -1 (New World) (net.minecraft.server.integrated.IntegratedServer@76241a1)
[22:24:35] [Server thread/INFO]: Preparing start region for level 0
[22:24:36] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.lang.InstantiationException: com.immersiveminds.beimcraft.tile.TileBlock
[22:24:36] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Class.newInstance(Unknown Source)
[22:24:36] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.tileentity.TileEntity.createAndLoadEntity(TileEntity.java:123)
[22:24:36] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPri
GameRegistry.registerTileEntity(TileBlock.class, "tileblock");
GameRegistry.registerTileEntity(TileCeiling.class, "tileceiling");
GameRegistry.registerTileEntity(TileFlatInsulated.class, "tileflatinsulated");
GameRegistry.registerTileEntity(TileFlatUninsulated.class, "tileflatuninsulated");
GameRegistry.registerTileEntity(TileFlatInsulatedEnd.class, "tileflatinsulatedend");
GameRegistry.registerTileEntity(TileFlatUninsulatedEnd.class, "tileflatuninsulatedend");
GameRegistry.registerTileEntity(TileFloor.class, "tilefloor");
GameRegistry.registerTileEntity(TilePitchedInsulated.class, "tilepitchedinsulated");
GameRegistry.registerTileEntity(TilePitchedInsulatedEnd.class, "tilepitchedinsulatedend");
GameRegistry.registerTileEntity(TilePitchedUninsulatedEnd.class, "tilepitcheduninsulated");
package com.immersiveminds.beimcraft.block;
import com.immersiveminds.beimcraft.BeimCraft;
import com.immersiveminds.beimcraft.api.BlockConfig;
import com.immersiveminds.beimcraft.tile.TileBlock;
import com.immersiveminds.beimcraft.tile.TilePitchedUninsulated;
import net.minecraft.block.material.Material;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;