Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
PurificatiMagicae
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
12
Issues
12
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Container Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PearX Team
PurificatiMagicae
Commits
fc333910
Commit
fc333910
authored
Feb 24, 2018
by
mrAppleXZ
💾
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Stone Crusher rope, TESRs refactoring
parent
8d0fb5de
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
80 additions
and
32 deletions
+80
-32
src/main/java/ru/pearx/purmag/client/tesrs/TESRCodeStorage.java
...in/java/ru/pearx/purmag/client/tesrs/TESRCodeStorage.java
+0
-4
src/main/java/ru/pearx/purmag/client/tesrs/TESRMagibench.java
...main/java/ru/pearx/purmag/client/tesrs/TESRMagibench.java
+0
-2
src/main/java/ru/pearx/purmag/client/tesrs/TESRMicroscope.java
...ain/java/ru/pearx/purmag/client/tesrs/TESRMicroscope.java
+0
-1
src/main/java/ru/pearx/purmag/client/tesrs/TESRStoneCrusher.java
...n/java/ru/pearx/purmag/client/tesrs/TESRStoneCrusher.java
+80
-25
No files found.
src/main/java/ru/pearx/purmag/client/tesrs/TESRCodeStorage.java
View file @
fc333910
...
...
@@ -31,11 +31,9 @@ public class TESRCodeStorage extends PXLFastTESR<TileCodeStorage>
return
;
GlStateManager
.
pushMatrix
();
resetTrans
(
te
);
GlStateManager
.
translate
(
0.5f
,
0
,
0.5f
);
GlStateManager
.
rotate
(
PXLMC
.
getHorizontalRotation
(
st
.
getValue
(
HorizontalFacingController
.
FACING_H
)),
0
,
1
,
0
);
GlStateManager
.
translate
(-
0.5f
,
0
,
-
0.5f
);
setTrans
(
te
);
long
rnd
=
MathHelper
.
getPositionRandom
(
te
.
getPos
());
...
...
@@ -49,7 +47,6 @@ public class TESRCodeStorage extends PXLFastTESR<TileCodeStorage>
String
state
=
te
.
anim
.
getElement
(
"head"
).
getState
();
if
(!
state
.
equals
(
"closed"
))
{
resetTrans
(
te
);
GlStateManager
.
translate
(
0.5f
,
0
,
0.5f
);
GlStateManager
.
translate
(
0
,
0.703f
,
0.4457f
);
...
...
@@ -74,7 +71,6 @@ public class TESRCodeStorage extends PXLFastTESR<TileCodeStorage>
GlStateManager
.
translate
(
0
,
-
0.703f
,
-
0.4457f
);
GlStateManager
.
translate
(-
0.5f
,
0
,
-
0.5f
);
setTrans
(
te
);
}
buffer
.
begin
(
GL11
.
GL_QUADS
,
DefaultVertexFormats
.
BLOCK
);
PXLModelRenderer
.
renderModelTESR
(
te
.
getWorld
(),
TOP
.
get
(),
st
.
getBlock
().
getExtendedState
(
st
,
te
.
getWorld
(),
te
.
getPos
()),
te
.
getPos
(),
buffer
,
false
,
rnd
);
...
...
src/main/java/ru/pearx/purmag/client/tesrs/TESRMagibench.java
View file @
fc333910
...
...
@@ -22,7 +22,6 @@ public class TESRMagibench extends PXLFastTESR<TileMagibench>
@Override
public
void
render
(
TileMagibench
te
,
double
x
,
double
y
,
double
z
,
float
partialTicks
,
int
destroyStage
,
float
alpha
,
BufferBuilder
buffer
,
Tessellator
tes
)
{
resetTrans
(
te
);
//todo add floating items support
MagibenchRegistry
.
Tier
t
=
PurMag
.
INSTANCE
.
getMagibenchRegistry
().
getTier
(
te
.
getTier
());
int
index
=
0
;
...
...
@@ -56,6 +55,5 @@ public class TESRMagibench extends PXLFastTESR<TileMagibench>
}
}
GlStateManager
.
popMatrix
();
setTrans
(
te
);
}
}
src/main/java/ru/pearx/purmag/client/tesrs/TESRMicroscope.java
View file @
fc333910
...
...
@@ -30,7 +30,6 @@ public class TESRMicroscope extends PXLFastTESR<TileMicroscope>
if
(!
stack
.
isEmpty
())
{
GlStateManager
.
pushMatrix
();
resetTrans
(
te
);
GlStateManager
.
translate
(
0.5f
,
0
,
0.5f
);
GlStateManager
.
rotate
(
PXLMC
.
getHorizontalRotation
(
state
.
getValue
(
HorizontalFacingController
.
FACING_H
)),
0
,
1
,
0
);
GlStateManager
.
rotate
(
180
,
0
,
1
,
0
);
...
...
src/main/java/ru/pearx/purmag/client/tesrs/TESRStoneCrusher.java
View file @
fc333910
package
ru
.
pearx
.
purmag
.
client
.
tesrs
;
import
net.minecraft.client.Minecraft
;
import
net.minecraft.client.renderer.*
;
import
net.minecraft.client.renderer.BufferBuilder
;
import
net.minecraft.client.renderer.GlStateManager
;
import
net.minecraft.client.renderer.Tessellator
;
import
net.minecraft.client.renderer.block.model.ModelResourceLocation
;
import
net.minecraft.client.renderer.vertex.DefaultVertexFormats
;
import
net.minecraft.util.ResourceLocation
;
...
...
@@ -9,11 +11,13 @@ import net.minecraft.util.math.MathHelper;
import
net.minecraftforge.fml.relauncher.Side
;
import
net.minecraftforge.fml.relauncher.SideOnly
;
import
org.lwjgl.opengl.GL11
;
import
ru.pearx.lib.Color
;
import
ru.pearx.lib.Colors
;
import
ru.pearx.lib.math.MathUtils
;
import
ru.pearx.libmc.PXLMC
;
import
ru.pearx.libmc.client.ModelSupplied
;
import
ru.pearx.libmc.client.PXLFastTESR
;
import
ru.pearx.libmc.client.TESRMultiblock
;
import
ru.pearx.libmc.client.gui.controls.common.BlockArrayShowcase
;
import
ru.pearx.libmc.client.models.PXLModelRenderer
;
import
ru.pearx.purmag.common.Utils
;
import
ru.pearx.purmag.common.tiles.TileStoneCrusher
;
...
...
@@ -34,65 +38,116 @@ public class TESRStoneCrusher extends TESRMultiblock<TileStoneCrusher>
public
void
render
(
TileStoneCrusher
te
,
double
x
,
double
y
,
double
z
,
float
partialTicks
,
int
destroyStage
,
float
alpha
,
BufferBuilder
buffer
,
Tessellator
tes
)
{
GlStateManager
.
pushMatrix
();
resetTrans
(
te
);
GlStateManager
.
translate
(
0.5f
,
0
,
0.5f
);
GlStateManager
.
rotate
(
PXLMC
.
getHorizontalRotation
(
te
.
getRotation
()),
0
,
1
,
0
);
GlStateManager
.
translate
(-
0.5f
,
0
,
-
0.5f
);
setTrans
(
te
);
int
deg
=
(
int
)(
System
.
currentTimeMillis
()
/
2
%
360
);
//main part
buffer
.
begin
(
GL11
.
GL_QUADS
,
DefaultVertexFormats
.
BLOCK
);
PXLModelRenderer
.
renderModelTESR
(
te
.
getWorld
(),
MDL_MAIN
.
get
(),
te
.
getWorld
().
getBlockState
(
te
.
getPos
()),
te
.
getPos
(),
buffer
,
false
,
MathHelper
.
getPositionRandom
(
te
.
getPos
()));
tes
.
draw
();
//lever
GlStateManager
.
pushMatrix
();
resetTrans
(
te
);
GlStateManager
.
translate
(-
0.23964f
,
-
0.034445f
,
-
0.211711f
);
GlStateManager
.
rotate
(-
deg
,
0
,
0
,
1
);
GlStateManager
.
rotate
(-
29
,
0
,
0
,
1
);
GlStateManager
.
translate
(
0.23964f
,
0.034445f
,
0.211711f
);
setTrans
(
te
);
buffer
.
begin
(
GL11
.
GL_QUADS
,
DefaultVertexFormats
.
BLOCK
);
PXLModelRenderer
.
renderModelTESR
(
te
.
getWorld
(),
MDL_LEVER
.
get
(),
te
.
getWorld
().
getBlockState
(
te
.
getPos
()),
te
.
getPos
(),
buffer
,
false
,
MathHelper
.
getPositionRandom
(
te
.
getPos
()));
tes
.
draw
();
GlStateManager
.
popMatrix
();
long
timeDelta
=
te
.
getWorld
().
getTotalWorldTime
()
-
te
.
getPreviousSpin
();
float
deltaCooldown
=
(
float
)
timeDelta
/
te
.
getCooldownBetweenSpins
();
{
long
timeDelta
=
te
.
getWorld
().
getTotalWorldTime
()
-
te
.
getPreviousSpin
();
float
rot
=
timeDelta
>
te
.
getCooldownBetweenSpins
()
?
te
.
getSpins
()
*
90
:
(
te
.
getSpins
()
-
1
)
*
90
+
timeDelta
*
(
90
f
/
te
.
getCooldownBetweenSpins
());
float
rot
=
te
.
getSpins
()
*
90
+
(
timeDelta
>
te
.
getCooldownBetweenSpins
()
?
0
:
-
90
+
90
*
deltaCooldown
);
//handle
GlStateManager
.
pushMatrix
();
resetTrans
(
te
);
GlStateManager
.
translate
(
0.5
,
0.5
,
0
);
GlStateManager
.
rotate
(
rot
,
0
,
0
,
1
);
GlStateManager
.
translate
(-
0.5
,
-
0.5
,
0
);
setTrans
(
te
);
buffer
.
begin
(
GL11
.
GL_QUADS
,
DefaultVertexFormats
.
BLOCK
);
PXLModelRenderer
.
renderModelTESR
(
te
.
getWorld
(),
MDL_HANDLE
.
get
(),
te
.
getWorld
().
getBlockState
(
te
.
getPos
()),
te
.
getPos
(),
buffer
,
false
,
MathHelper
.
getPositionRandom
(
te
.
getPos
()));
tes
.
draw
();
GlStateManager
.
popMatrix
();
//coil
GlStateManager
.
pushMatrix
();
resetTrans
(
te
);
GlStateManager
.
translate
(
0.5
,
0.5
,
-
0.5
);
GlStateManager
.
rotate
(
rot
,
0
,
0
,
1
);
GlStateManager
.
translate
(-
0.5
,
-
0.5
,
0.5
);
setTrans
(
te
);
buffer
.
begin
(
GL11
.
GL_QUADS
,
DefaultVertexFormats
.
BLOCK
);
PXLModelRenderer
.
renderModelTESR
(
te
.
getWorld
(),
MDL_COIL
.
get
(),
te
.
getWorld
().
getBlockState
(
te
.
getPos
()),
te
.
getPos
(),
buffer
,
false
,
MathHelper
.
getPositionRandom
(
te
.
getPos
()));
tes
.
draw
();
GlStateManager
.
popMatrix
();
}
GlStateManager
.
pushMatrix
();
float
anvilY
=
(
float
)
te
.
getSpins
()
/
te
.
getMaxSpins
();
boolean
onGround
=
te
.
getSpins
()
<=
0
;
float
anvilXMod
=
onGround
?
0
:
MathHelper
.
sin
(
MathUtils
.
toRadians
((
System
.
currentTimeMillis
()
/
10
)
%
360
))
*
0.2f
*
(
1
-
anvilY
);
GlStateManager
.
translate
(
1
+
anvilXMod
,
anvilY
,
0
);
buffer
.
begin
(
GL11
.
GL_QUADS
,
DefaultVertexFormats
.
BLOCK
);
Minecraft
.
getMinecraft
().
getBlockRendererDispatcher
().
getBlockModelRenderer
().
renderModel
(
te
.
getWorld
(),
MDL_ANVIL
.
get
(),
te
.
getWorld
().
getBlockState
(
te
.
getPos
()),
te
.
getPos
(),
buffer
,
false
,
MathHelper
.
getPositionRandom
(
te
.
getPos
()));
tes
.
draw
();
buffer
.
begin
(
GL11
.
GL_QUADS
,
DefaultVertexFormats
.
POSITION_TEX
);
tes
.
draw
();
GlStateManager
.
popMatrix
();
{
float
os
=
1
f
/
te
.
getMaxSpins
();
boolean
onGround
=
te
.
getSpins
()
<=
0
;
float
anvilX
=
1
;
float
anvilY
=
te
.
getSpins
()
*
os
+
(
timeDelta
>
te
.
getCooldownBetweenSpins
()
?
0
:
-
os
+
os
*
deltaCooldown
);
if
(!
onGround
)
{
float
sin
=
MathHelper
.
sin
(
MathUtils
.
toRadians
((
System
.
currentTimeMillis
()
/
8
)
%
360
));
anvilX
+=
sin
*
0.2f
*
(
1
-
anvilY
);
anvilY
+=
Math
.
abs
(
sin
)
*
0.05f
*
(
1
-
anvilY
);
}
//anvil
GlStateManager
.
pushMatrix
();
GlStateManager
.
translate
(
anvilX
,
anvilY
,
0
);
buffer
.
begin
(
GL11
.
GL_QUADS
,
DefaultVertexFormats
.
BLOCK
);
setTrans
(
buffer
,
te
);
Minecraft
.
getMinecraft
().
getBlockRendererDispatcher
().
getBlockModelRenderer
().
renderModel
(
te
.
getWorld
(),
MDL_ANVIL
.
get
(),
te
.
getWorld
().
getBlockState
(
te
.
getPos
()),
te
.
getPos
(),
buffer
,
false
,
MathHelper
.
getPositionRandom
(
te
.
getPos
()));
buffer
.
setTranslation
(
0
,
0
,
0
);
tes
.
draw
();
GlStateManager
.
popMatrix
();
{
//rope
float
width
=
0.05f
;
Color
c
=
Colors
.
BROWN_800
;
int
r
=
c
.
getRed
();
int
g
=
c
.
getGreen
();
int
b
=
c
.
getBlue
();
int
a
=
c
.
getAlpha
();
float
x0
=
1.5f
+
width
/
2
,
x1
=
1.5f
-
width
/
2
,
x2
=
anvilX
+
0.5f
-
width
/
2
,
x3
=
anvilX
+
0.5f
+
width
/
2
;
float
y0
=
2.74f
,
y1
=
anvilY
+
1
f
;
float
z0
=
0.5f
-
width
/
2
,
z1
=
0.5f
+
width
/
2
;
GlStateManager
.
disableTexture2D
();
buffer
.
begin
(
GL11
.
GL_QUADS
,
DefaultVertexFormats
.
POSITION_COLOR
);
buffer
.
pos
(
x0
,
y0
,
z0
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
buffer
.
pos
(
x1
,
y0
,
z0
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
buffer
.
pos
(
x2
,
y1
,
z0
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
buffer
.
pos
(
x3
,
y1
,
z0
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
buffer
.
pos
(
x0
,
y0
,
z1
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
buffer
.
pos
(
x1
,
y0
,
z1
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
buffer
.
pos
(
x2
,
y1
,
z1
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
buffer
.
pos
(
x3
,
y1
,
z1
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
buffer
.
pos
(
x0
,
y0
,
z0
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
buffer
.
pos
(
x0
,
y0
,
z1
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
buffer
.
pos
(
x2
,
y1
,
z1
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
buffer
.
pos
(
x2
,
y1
,
z0
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
buffer
.
pos
(
x1
,
y0
,
z0
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
buffer
.
pos
(
x1
,
y0
,
z1
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
buffer
.
pos
(
x3
,
y1
,
z1
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
buffer
.
pos
(
x3
,
y1
,
z0
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
buffer
.
pos
(
x0
,
y0
,
z0
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
buffer
.
pos
(
x0
,
y0
,
z1
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
buffer
.
pos
(
x1
,
y0
,
z1
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
buffer
.
pos
(
x1
,
y0
,
z0
).
color
(
r
,
g
,
b
,
a
).
endVertex
();
tes
.
draw
();
GlStateManager
.
enableTexture2D
();
}
}
GlStateManager
.
popMatrix
();
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment