Skip to content

Commit

Permalink
Added passive heater, fluids and a bit of cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
TheIcyOne committed Apr 19, 2017
1 parent 6ecebaf commit 83b33c3
Show file tree
Hide file tree
Showing 22 changed files with 836 additions and 67 deletions.
9 changes: 8 additions & 1 deletion src/main/java/com/headfishindustries/sticky/Sticky.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,14 @@

import com.headfishindustries.sticky.proxy.CommonProxy;

import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLConstructionEvent;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent.PlayerTickEvent;

@Mod(modid=Sticky.MODID, version = Sticky.VERSION, name="Sticky")
public class Sticky {
Expand All @@ -23,6 +24,12 @@ public class Sticky {
@SidedProxy(clientSide="com.headfishindustries.sticky.proxy.ClientProxy", serverSide="com.headfishindustries.sticky.proxy.CommonProxy", modId=MODID)
public static CommonProxy proxy;

@EventHandler
public void construct(FMLConstructionEvent e){
//I'm not doing buckets myself.
FluidRegistry.enableUniversalBucket();
}

@EventHandler
public void preInit(FMLPreInitializationEvent e){
proxy.preInit();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package com.headfishindustries.sticky.blocks;

import com.headfishindustries.sticky.blocks.fluid.StickyFluids;

import net.minecraft.block.BlockCauldron;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeModContainer;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.UniversalBucket;

public class BlockPassiveHeater extends BlockCauldron{


@Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ)
{
ItemStack itemstack = playerIn.getHeldItem(hand);

if (itemstack.getItem() == Items.BUCKET && state.getValue(LEVEL) == 3){
float temp = checkBiome(worldIn, pos);
if (temp <= 0.2) playerIn.setHeldItem(hand, UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, StickyFluids.coldWater));
else if (temp >= 1) playerIn.setHeldItem(hand, UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, StickyFluids.hotWater));
else if (temp >= 0.6) playerIn.setHeldItem(hand, UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, StickyFluids.lukewarmWater));
else playerIn.setHeldItem(hand, UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, FluidRegistry.WATER));
this.setWaterLevel(worldIn, pos, state, 0);
return true;
}
else return super.onBlockActivated(worldIn, pos, state, playerIn, hand, facing, hitX, hitY, hitZ);
}

public float checkBiome(World worldIn, BlockPos pos){
return worldIn.getBiome(pos).getFloatTemperature(pos);
}


}
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityList;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.item.EntityTNTPrimed;
import net.minecraft.entity.passive.EntitySheep;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.item.ItemStack;
Expand Down Expand Up @@ -45,7 +43,6 @@ public boolean canGrow(World worldIn, BlockPos pos, IBlockState state, boolean i
return true;
}

@SuppressWarnings("unchecked")
public void grow(World worldIn, Random rand, BlockPos pos, IBlockState state) {
if (!(worldIn.getBlockState(pos).getBlock() instanceof LeavesBase)) return;
Object s = randomValue(this.getValidSpawns());
Expand All @@ -56,6 +53,7 @@ public void grow(World worldIn, Random rand, BlockPos pos, IBlockState state) {
}
}

@SuppressWarnings("unchecked")
public void entityGenerate(World world, BlockPos sPos, EnumTreeType type, Object c, Random r){
Entity e = null;
try{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package com.headfishindustries.sticky.blocks.fluid;

import javax.annotation.Nonnull;

import com.headfishindustries.sticky.defs.TabDefs;

import net.minecraft.block.material.Material;
import net.minecraftforge.fluids.BlockFluidClassic;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;

public class BlockStickyFluid extends BlockFluidClassic{
public BlockStickyFluid(Fluid fluid, Material material){
super(fluid, material);
setCreativeTab(TabDefs.tabStickyTrees);
}

@Nonnull
@Override
public String getUnlocalizedName() {
Fluid f = FluidRegistry.getFluid(fluidName);
if(f != null) return f.getUnlocalizedName();
return super.getUnlocalizedName();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.headfishindustries.sticky.blocks.fluid;

import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fluids.Fluid;

public class FluidColdWater extends Fluid{
public static final String name = "cold_water";
public static final FluidColdWater instance = new FluidColdWater();

public FluidColdWater()
{
super(name, new ResourceLocation("blocks/water_still"), new ResourceLocation("blocks/water_flowing"));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.headfishindustries.sticky.blocks.fluid;

import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fluids.Fluid;

public class FluidHotWater extends Fluid{
public static final String name = "hot_water";
public static final FluidHotWater instance = new FluidHotWater();

public FluidHotWater()
{
super(name, new ResourceLocation("blocks/water_still"), new ResourceLocation("blocks/water_flowing"));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.headfishindustries.sticky.blocks.fluid;

import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fluids.Fluid;

public class FluidLukewarmWater extends Fluid{
public static final String name = "lukewarm_water";
public static final FluidLukewarmWater instance = new FluidLukewarmWater();

public FluidLukewarmWater()
{
super(name, new ResourceLocation("blocks/water_still"), new ResourceLocation("blocks/water_flowing"));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.headfishindustries.sticky.blocks.fluid;

import com.headfishindustries.sticky.Sticky;

import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fluids.Fluid;

public class FluidSap extends Fluid{
public static final String name = "sap";
public static final FluidSap instance = new FluidSap();

public FluidSap()
{
super(name, new ResourceLocation(Sticky.MODID + ":blocks/" + name + "_still"), new ResourceLocation(Sticky.MODID + ":blocks/" + name + "_flowing"));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.headfishindustries.sticky.blocks.fluid;

import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;

public class StickyFluids {
public static Fluid coldWater;
public static Fluid lukewarmWater;
public static Fluid hotWater;
public static Fluid sap;

static{setupFluids();}
public static void setupFluids(){
coldWater = FluidColdWater.instance;
coldWater.setTemperature(5);
FluidRegistry.addBucketForFluid(coldWater);

lukewarmWater = FluidLukewarmWater.instance;
lukewarmWater.setTemperature(32);
FluidRegistry.addBucketForFluid(lukewarmWater);

hotWater = FluidHotWater.instance;
hotWater.setTemperature(95);
FluidRegistry.addBucketForFluid(hotWater);

sap = FluidSap.instance;
sap.setTemperature(32);
FluidRegistry.addBucketForFluid(sap);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,8 @@
import com.headfishindustries.sticky.blocks.LeavesBase;

import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.monster.EntityCreeper;
import net.minecraft.entity.monster.EntityEnderman;
import net.minecraft.entity.monster.EntityEvoker;
import net.minecraft.entity.monster.EntityHusk;
import net.minecraft.entity.monster.EntityShulker;
import net.minecraft.entity.monster.EntitySkeleton;
import net.minecraft.entity.monster.EntitySlime;
import net.minecraft.entity.monster.EntityStray;
import net.minecraft.entity.monster.EntityVex;
import net.minecraft.entity.monster.EntityVindicator;
import net.minecraft.entity.monster.EntityWitch;
import net.minecraft.entity.monster.EntityZombie;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,7 @@
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.item.EntityTNTPrimed;
import net.minecraft.entity.monster.EntityCreeper;
import net.minecraft.entity.monster.EntityEnderman;
import net.minecraft.entity.monster.EntityEvoker;
import net.minecraft.entity.monster.EntityGhast;
import net.minecraft.entity.monster.EntityHusk;
import net.minecraft.entity.monster.EntitySkeleton;
import net.minecraft.entity.monster.EntitySlime;
import net.minecraft.entity.monster.EntityStray;
import net.minecraft.entity.monster.EntityVex;
import net.minecraft.entity.monster.EntityVindicator;
import net.minecraft.entity.monster.EntityWitch;
import net.minecraft.entity.monster.EntityZombie;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;

Expand All @@ -40,7 +30,7 @@ public HashMap<Object, Integer> getValidSpawns() {
HashMap<Object, Integer> spawns = new HashMap<Object, Integer>();
spawns.put(EntityCreeper.class, 100);
spawns.put(EntityGhast.class, 25);
spawns.put(EntityTNTPrimed.class, 2);
spawns.put(EntityTNTPrimed.class, 200);
return spawns;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,10 @@

import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.monster.EntityBlaze;
import net.minecraft.entity.monster.EntityCreeper;
import net.minecraft.entity.monster.EntityEnderman;
import net.minecraft.entity.monster.EntityEvoker;
import net.minecraft.entity.monster.EntityGhast;
import net.minecraft.entity.monster.EntityHusk;
import net.minecraft.entity.monster.EntityPigZombie;
import net.minecraft.entity.monster.EntitySkeleton;
import net.minecraft.entity.monster.EntitySlime;
import net.minecraft.entity.monster.EntityStray;
import net.minecraft.entity.monster.EntityVex;
import net.minecraft.entity.monster.EntityVindicator;
import net.minecraft.entity.monster.EntityWitch;
import net.minecraft.entity.monster.EntityWitherSkeleton;
import net.minecraft.entity.monster.EntityZombie;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,6 @@
import com.headfishindustries.sticky.blocks.LeavesBase;

import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.monster.EntityCreeper;
import net.minecraft.entity.monster.EntityEnderman;
import net.minecraft.entity.monster.EntityEvoker;
import net.minecraft.entity.monster.EntityHusk;
import net.minecraft.entity.monster.EntitySkeleton;
import net.minecraft.entity.monster.EntitySlime;
import net.minecraft.entity.monster.EntityStray;
import net.minecraft.entity.monster.EntityVex;
import net.minecraft.entity.monster.EntityVindicator;
import net.minecraft.entity.monster.EntityWitch;
import net.minecraft.entity.monster.EntityZombie;
import net.minecraft.entity.passive.EntityBat;
import net.minecraft.entity.passive.EntityChicken;
import net.minecraft.entity.passive.EntityCow;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,30 +6,9 @@
import com.headfishindustries.sticky.blocks.LeavesBase;

import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.monster.EntityCreeper;
import net.minecraft.entity.monster.EntityElderGuardian;
import net.minecraft.entity.monster.EntityEnderman;
import net.minecraft.entity.monster.EntityEvoker;
import net.minecraft.entity.monster.EntityGuardian;
import net.minecraft.entity.monster.EntityHusk;
import net.minecraft.entity.monster.EntitySkeleton;
import net.minecraft.entity.monster.EntitySlime;
import net.minecraft.entity.monster.EntityStray;
import net.minecraft.entity.monster.EntityVex;
import net.minecraft.entity.monster.EntityVindicator;
import net.minecraft.entity.monster.EntityWitch;
import net.minecraft.entity.monster.EntityZombie;
import net.minecraft.entity.passive.EntityBat;
import net.minecraft.entity.passive.EntityChicken;
import net.minecraft.entity.passive.EntityCow;
import net.minecraft.entity.passive.EntityHorse;
import net.minecraft.entity.passive.EntityOcelot;
import net.minecraft.entity.passive.EntityPig;
import net.minecraft.entity.passive.EntityRabbit;
import net.minecraft.entity.passive.EntitySheep;
import net.minecraft.entity.passive.EntitySquid;
import net.minecraft.entity.passive.EntityVillager;
import net.minecraft.entity.passive.EntityWolf;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import com.headfishindustries.sticky.blocks.logs.*;
import com.headfishindustries.sticky.blocks.sapling.*;
import com.headfishindustries.sticky.Sticky;
import com.headfishindustries.sticky.blocks.BlockPassiveHeater;
import com.headfishindustries.sticky.blocks.leaves.*;

import net.minecraft.block.Block;
Expand Down Expand Up @@ -44,6 +46,8 @@ public class BlockDefs {
public static final Block logRainbow = registerBlock(new LogRainbow(), "log_rainbow").setUnlocalizedName("lograinbow");
public static final Block saplingRainbow = registerBlock(new SaplingRainbow(), "sapling_rainbow").setUnlocalizedName("saplingrainbow");

public static final Block passiveHeater = registerBlock(new BlockPassiveHeater(), "passive_heater").setUnlocalizedName("passive_heater");

public void preInit(){
//Do things later. Not now.

Expand All @@ -53,6 +57,7 @@ private static Block registerBlock(Block block, String name){

if(block.getRegistryName() == null) block.setRegistryName(name);
GameRegistry.register(block);
Sticky.LOGGER.info("Registering block " + block.getRegistryName());
GameRegistry.register(new ItemBlock(block).setRegistryName(name));
return block;
}
Expand Down Expand Up @@ -92,6 +97,8 @@ public static void initClient() {
registerTexture(leavesRainbow);
registerTexture(logRainbow);
registerTexture(saplingRainbow);

registerTexture(passiveHeater);
}

}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.headfishindustries.sticky.proxy;

import com.headfishindustries.sticky.blocks.fluid.StickyFluids;
import com.headfishindustries.sticky.defs.BlockDefs;
import com.headfishindustries.sticky.defs.TabDefs;

Expand All @@ -8,6 +9,7 @@ public class CommonProxy {
BlockDefs blocks;

public void preInit(){
StickyFluids.setupFluids();
new TabDefs();
blocks = new BlockDefs();
blocks.preInit();
Expand Down
13 changes: 13 additions & 0 deletions src/main/resources/assets/sticky/blockstates/passive_heater.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"forge_marker": 1,
"defaults": {
"transform": "forge:default-block"
},
"variants": {
"level=0": { "model": "sticky:passive_heater_empty" },
"level=1": { "model": "sticky:passive_heater_level1" },
"level=2": { "model": "sticky:passive_heater_level2" },
"level=3": { "model": "sticky:passive_heater_level3" },
"normal": { "model": "sticky:passive_heater_empty" }
}
}
Loading

0 comments on commit 83b33c3

Please sign in to comment.